Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 727fa15453fcace956b835e2377d4269 > files > 889

player-doc-3.0.2-5.fc14.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">

<html>
<!-- $Id: header.html 8799 2010-06-28 04:12:42Z jpgr87 $ -->

<HEAD>


<meta HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=utf-8">
<meta name="keywords" content="stage, robot, simulation, player, player/stage">
<link href="doxygen.css" rel="stylesheet" type="text/css">

<style type="text/css">

.floatright { float: right; margin: 0 0 1em 1em; }

body {
  font-family: sans-serif;
  #font-family: Geneva, Verdana, Helvetica, Arial, sans-serif;
  background-color: #FFF;
  color:#000;
}


a:link { 
	color: #A00;
}

a:visited { 
	color: #800;
}

a { text-decoration: none; }
a:hover { text-decoration: underline; }


.timestamp { text-align:right; background-color: #DDD; font-size:75%;}

h1 { 
  font-size:160%; 
}

h2 {
  font-size:110%;
  #color: #FFF;
  #background-color: #666;
  #padding:3px;
}

h3 { text-align:left; }

img {
  border: 0;
}

ul.menu { 
    position:relative;
    left:-2.5em;
    margin-bottom:0px;
    margin-top:0px;
}

ul.menu1 { 
    position:relative;
    left:-2.1em;
    margin-bottom:0px;
    margin-top:0px;
}

li.menu { 
    list-style-type: none;
    position:relative;
    #left:-0.5em;
}


#sidebar { position: absolute; left:0px; padding:2em; top:0em; width:12em;}

#content { position: absolute; left:12em; top:0em; padding-left:3em; padding-right:3em; padding-bottom:2em; margin-top:1em; margin-right:2em; }

div.box { background-color:#EEE; border: 1px solid #000; padding: 0.5ex 0.4em 0.5ex 0.6em; margin:1em;  }
div.title { font-weight:bold; background-color:#eee; margin-bottom:2px;}

div.topbar { position: absolute; top:0px; left:9em; margin:1em; }

</style>

<TITLE>Player Manual</TITLE>

</HEAD>

<body>

<div id="sidebar"> 

<h2 style="text-align:center;">
<a href="index.html">
<img width=140 src="http://playerstage.sourceforge.net/images/player_button_v3.png" alt="Player logo"><br></a>
</h2>



<div class="box">
<div class=title>Player</div>

<ul class=menu>
<li class=menu><a href="index.html">Frontpage</a>
<li class=menu><a href="modules.html">Contents</a>
</ul>
</div>

<div class="box">
<div class=title>User</div>

<ul class=menu>
<li class=menu><a href="install.html">Installation</a>
<li class=menu><a href="start.html">Quick start</a>
<li class=menu><a href="supported_hardware.html">Supported&nbsp;devices</a>
<li class=menu><a href="group__tutorials.html">Tutorials</a>
<li class=menu><a href="group__utils.html">Utilities</a>
<li class=menu><a href="group__clientlibs.html">Client&nbsp;libraries</a>
<li class=menu><a href="http://playerstage.sourceforge.net/wiki/Basic_FAQ">FAQ</a>
<li class=menu><a href="help.html">Help</a>

</ul>
</div>

<div class=box>
<div class="title">Developer</div>
<ul class=menu>
<li class=menu><a href="architecture.html">Architecture</a>
<li class=menu><a href="group__libplayercore.html">libplayercore</a>
<ul class=menu1>
<li class=menu><a href="group__interfaces.html">interfaces</a></li>
</ul>
<li class=menu><a href="group__libplayerdrivers.html">libplayerdrivers</a>
<ul class=menu1>
<li class=menu><a href="group__drivers.html">drivers</a></li>
</ul>
<li class=menu><a href="group__libplayercommon.html">libplayercommon</a>
<li class=menu><a href="group__libplayerutils.html">libplayerutils</a>
<li class=menu><a href="group__libplayersd.html">libplayersd</a>
<li class=menu><a href="group__libplayertcp.html">libplayertcp</a>
<li class=menu><a href="group__libplayerxdr.html">libplayerxdr</a>
<li class=menu><a href="todo.html">TODO</a>
</ul>
</div>

<div class=box>
<!-- <a href="http://sourceforge.net"><img border=0 src="http://sourceforge.net/sflogo.php?group_id=42445&type=1"></a> -->
<div class="title">Online</div>
<a href="http://playerstage.sourceforge.net">Homepage</a><br>
<a href="http://sourceforge.net/project/showfiles.php?group_id=42445">Download</a><br>
<a href="http://sourceforge.net/projects/playerstage">Project</a><br>
<a href="http://sourceforge.net/tracker/?group_id=42445">Bugs</a><br>
<a href="http://sourceforge.net/mail/?group_id=42445">Help</a>
</div>


</div>

<div id="content" >
<!-- Generated by Doxygen 1.7.1 -->
<div class="header">
  <div class="headertitle">
<h1>playerc.h</h1>  </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> *  libplayerc : a Player client library</span>
<a name="l00003"></a>00003 <span class="comment"> *  Copyright (C) Andrew Howard and contributors 2002-2007</span>
<a name="l00004"></a>00004 <span class="comment"> *</span>
<a name="l00005"></a>00005 <span class="comment"> *  This program is free software; you can redistribute it and/or</span>
<a name="l00006"></a>00006 <span class="comment"> *  modify it under the terms of the GNU General Public License</span>
<a name="l00007"></a>00007 <span class="comment"> *  as published by the Free Software Foundation; either version 2</span>
<a name="l00008"></a>00008 <span class="comment"> *  of the License, or (at your option) any later version.</span>
<a name="l00009"></a>00009 <span class="comment"> *</span>
<a name="l00010"></a>00010 <span class="comment"> *  This program is distributed in the hope that it will be useful,</span>
<a name="l00011"></a>00011 <span class="comment"> *  but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00012"></a>00012 <span class="comment"> *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
<a name="l00013"></a>00013 <span class="comment"> *  GNU General Public License for more details.</span>
<a name="l00014"></a>00014 <span class="comment"> *</span>
<a name="l00015"></a>00015 <span class="comment"> *  You should have received a copy of the GNU General Public License</span>
<a name="l00016"></a>00016 <span class="comment"> *  along with this program; if not, write to the Free Software</span>
<a name="l00017"></a>00017 <span class="comment"> *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.</span>
<a name="l00018"></a>00018 <span class="comment"> *</span>
<a name="l00019"></a>00019 <span class="comment"> */</span>
<a name="l00020"></a>00020 
<a name="l00021"></a>00021 <span class="comment">/***************************************************************************</span>
<a name="l00022"></a>00022 <span class="comment"> * Desc: Player client</span>
<a name="l00023"></a>00023 <span class="comment"> * Author: Andrew Howard</span>
<a name="l00024"></a>00024 <span class="comment"> * Date: 24 Aug 2001</span>
<a name="l00025"></a>00025 <span class="comment"> # CVS: $Id: playerc.h 8173 2009-08-04 07:25:00Z gbiggs $</span>
<a name="l00026"></a>00026 <span class="comment"> **************************************************************************/</span>
<a name="l00027"></a>00027 
<a name="l00028"></a>00028 
<a name="l00051"></a>00051 <span class="preprocessor">#ifndef PLAYERC_H</span>
<a name="l00052"></a>00052 <span class="preprocessor"></span><span class="preprocessor">#define PLAYERC_H</span>
<a name="l00053"></a>00053 <span class="preprocessor"></span>
<a name="l00054"></a>00054 <span class="preprocessor">#if !defined (WIN32)</span>
<a name="l00055"></a>00055 <span class="preprocessor"></span><span class="preprocessor">  #include &lt;netinet/in.h&gt;</span> <span class="comment">/* need this for struct sockaddr_in */</span>
<a name="l00056"></a>00056 <span class="preprocessor">#endif</span>
<a name="l00057"></a>00057 <span class="preprocessor"></span><span class="preprocessor">#include &lt;stddef.h&gt;</span> <span class="comment">/* size_t */</span>
<a name="l00058"></a>00058 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
<a name="l00059"></a>00059 
<a name="l00060"></a>00060 <span class="preprocessor">#include &lt;playerconfig.h&gt;</span>
<a name="l00061"></a>00061 
<a name="l00062"></a>00062 <span class="comment">/* Get the message structures from Player*/</span>
<a name="l00063"></a>00063 <span class="preprocessor">#include &lt;libplayercommon/playercommon.h&gt;</span>
<a name="l00064"></a>00064 <span class="preprocessor">#include &lt;libplayerinterface/player.h&gt;</span>
<a name="l00065"></a>00065 <span class="preprocessor">#include &lt;libplayercommon/playercommon.h&gt;</span>
<a name="l00066"></a>00066 <span class="preprocessor">#include &lt;libplayerinterface/interface_util.h&gt;</span>
<a name="l00067"></a>00067 <span class="preprocessor">#include &lt;libplayerinterface/playerxdr.h&gt;</span>
<a name="l00068"></a>00068 <span class="preprocessor">#include &lt;libplayerinterface/functiontable.h&gt;</span>
<a name="l00069"></a>00069 <span class="preprocessor">#include &lt;libplayerwkb/playerwkb.h&gt;</span>
<a name="l00070"></a>00070 <span class="preprocessor">#if defined (WIN32)</span>
<a name="l00071"></a>00071 <span class="preprocessor"></span><span class="preprocessor">  #include &lt;winsock2.h&gt;</span>
<a name="l00072"></a>00072 <span class="preprocessor">#endif</span>
<a name="l00073"></a>00073 <span class="preprocessor"></span>
<a name="l00074"></a>00074 <span class="preprocessor">#ifndef MIN</span>
<a name="l00075"></a><a class="code" href="group__player__clientlib__libplayerc.html#ga3acffbd305ee72dcd4593c0d8af64a4f">00075</a> <span class="preprocessor"></span><span class="preprocessor">  #define MIN(a,b) ((a &lt; b) ? a : b)</span>
<a name="l00076"></a>00076 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00077"></a>00077 <span class="preprocessor"></span><span class="preprocessor">#ifndef MAX</span>
<a name="l00078"></a>00078 <span class="preprocessor"></span><span class="preprocessor">  #define MAX(a,b) ((a &gt; b) ? a : b)</span>
<a name="l00079"></a>00079 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00080"></a>00080 <span class="preprocessor"></span>
<a name="l00081"></a>00081 <span class="preprocessor">#if defined (WIN32)</span>
<a name="l00082"></a>00082 <span class="preprocessor"></span><span class="preprocessor">  #if defined (PLAYER_STATIC)</span>
<a name="l00083"></a>00083 <span class="preprocessor"></span><span class="preprocessor">    #define PLAYERC_EXPORT</span>
<a name="l00084"></a>00084 <span class="preprocessor"></span><span class="preprocessor">  #elif defined (playerc_EXPORTS)</span>
<a name="l00085"></a>00085 <span class="preprocessor"></span><span class="preprocessor">    #define PLAYERC_EXPORT    __declspec (dllexport)</span>
<a name="l00086"></a>00086 <span class="preprocessor"></span><span class="preprocessor">  #else</span>
<a name="l00087"></a>00087 <span class="preprocessor"></span><span class="preprocessor">    #define PLAYERC_EXPORT    __declspec (dllimport)</span>
<a name="l00088"></a>00088 <span class="preprocessor"></span><span class="preprocessor">  #endif</span>
<a name="l00089"></a>00089 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00090"></a>00090 <span class="preprocessor"></span><span class="preprocessor">  #define PLAYERC_EXPORT</span>
<a name="l00091"></a>00091 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00092"></a>00092 <span class="preprocessor"></span>
<a name="l00093"></a>00093 
<a name="l00094"></a>00094 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00095"></a>00095 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {
<a name="l00096"></a>00096 <span class="preprocessor">#endif</span>
<a name="l00097"></a>00097 <span class="preprocessor"></span>
<a name="l00098"></a>00098 
<a name="l00099"></a>00099 <span class="comment">/***************************************************************************</span>
<a name="l00100"></a>00100 <span class="comment"> * Useful constants (re-defined here so SWIG can pick them up easily)</span>
<a name="l00101"></a>00101 <span class="comment"> **************************************************************************/</span>
<a name="l00102"></a>00102 
<a name="l00104"></a><a class="code" href="group__player__clientlib__libplayerc.html#ga168094c1cbbf233f963f36ae2aaaec42">00104</a> <span class="preprocessor">#define PLAYERC_OPEN_MODE     PLAYER_OPEN_MODE</span>
<a name="l00105"></a>00105 <span class="preprocessor"></span><span class="preprocessor">#define PLAYERC_CLOSE_MODE    PLAYER_CLOSE_MODE</span>
<a name="l00106"></a>00106 <span class="preprocessor"></span><span class="preprocessor">#define PLAYERC_ERROR_MODE    PLAYER_ERROR_MODE</span>
<a name="l00107"></a>00107 <span class="preprocessor"></span>
<a name="l00108"></a>00108 
<a name="l00110"></a><a class="code" href="group__player__clientlib__libplayerc.html#ga64b35ff9440be6f874c24915b17ec871">00110</a> <span class="preprocessor">#define PLAYERC_DATAMODE_PUSH PLAYER_DATAMODE_PUSH</span>
<a name="l00111"></a>00111 <span class="preprocessor"></span><span class="preprocessor">#define PLAYERC_DATAMODE_PULL PLAYER_DATAMODE_PULL</span>
<a name="l00112"></a>00112 <span class="preprocessor"></span>
<a name="l00114"></a><a class="code" href="group__player__clientlib__libplayerc.html#gae8f3ab5c538dae89d783bd2b56c7c4c9">00114</a> <span class="preprocessor">#define PLAYERC_TRANSPORT_TCP 1</span>
<a name="l00115"></a>00115 <span class="preprocessor"></span><span class="preprocessor">#define PLAYERC_TRANSPORT_UDP 2</span>
<a name="l00116"></a>00116 <span class="preprocessor"></span>
<a name="l00117"></a>00117 <span class="preprocessor">#define PLAYERC_QUEUE_RING_SIZE 512</span>
<a name="l00118"></a>00118 <span class="preprocessor"></span>
<a name="l00334"></a>00334 <span class="comment">/***************************************************************************/</span>
<a name="l00340"></a>00340 <span class="comment">/***************************************************************************/</span>
<a name="l00341"></a>00341 
<a name="l00346"></a>00346 PLAYERC_EXPORT <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__playerc__utility.html#gabc6f998b5f95a7368a3e7577e8e91dc6" title="Retrieve the last error (as a descriptive string).">playerc_error_str</a>(<span class="keywordtype">void</span>);
<a name="l00347"></a>00347 
<a name="l00349"></a>00349 <span class="comment">/*const char *playerc_lookup_name(int code);*/</span>
<a name="l00350"></a>00350 
<a name="l00352"></a>00352 <span class="comment">/*int playerc_lookup_code(const char *name);*/</span>
<a name="l00353"></a>00353 
<a name="l00355"></a>00355 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__utility.html#ga05e2fcf36b67e0cabbfd585a78f8b26f" title="Get the name for a given interface code.">playerc_add_xdr_ftable</a>(playerxdr_function_t *flist, <span class="keywordtype">int</span> replace);
<a name="l00356"></a>00356 
<a name="l00358"></a>00358 <span class="comment">/***************************************************************************/</span>
<a name="l00359"></a>00359 
<a name="l00360"></a>00360 
<a name="l00361"></a>00361 <span class="comment">/* Forward declare types*/</span>
<a name="l00362"></a>00362 <span class="keyword">struct </span><a class="code" href="struct__playerc__client__t.html" title="Client object data.">_playerc_client_t</a>;
<a name="l00363"></a>00363 <span class="keyword">struct </span><a class="code" href="struct__playerc__device__t.html" title="Common device info.">_playerc_device_t</a>;
<a name="l00364"></a>00364 
<a name="l00365"></a>00365 
<a name="l00366"></a>00366 <span class="comment">/* forward declaration to avoid including &lt;sys/poll.h&gt;, which may not be</span>
<a name="l00367"></a>00367 <span class="comment">   available when people are building clients against this lib*/</span>
<a name="l00368"></a>00368 <span class="keyword">struct </span>pollfd;
<a name="l00369"></a>00369 
<a name="l00370"></a>00370 
<a name="l00371"></a>00371 <span class="comment">/***************************************************************************/</span>
<a name="l00382"></a>00382 <span class="comment">/* Items in incoming data queue.*/</span>
<a name="l00383"></a><a class="code" href="structplayerc__client__item__t.html">00383</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00384"></a>00384 {
<a name="l00385"></a>00385   <a class="code" href="structplayer__msghdr.html" title="Generic message header.">player_msghdr_t</a> header;
<a name="l00386"></a>00386   <span class="keywordtype">void</span> *data;
<a name="l00387"></a>00387 } <a class="code" href="structplayerc__client__item__t.html">playerc_client_item_t</a>;
<a name="l00388"></a>00388 
<a name="l00389"></a>00389 
<a name="l00390"></a>00390 <span class="comment">/* Multi-client data*/</span>
<a name="l00391"></a><a class="code" href="structplayerc__mclient__t.html">00391</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00392"></a>00392 {
<a name="l00393"></a>00393   <span class="comment">/* List of clients being managed*/</span>
<a name="l00394"></a>00394   <span class="keywordtype">int</span> client_count;
<a name="l00395"></a>00395   <span class="keyword">struct </span><a class="code" href="struct__playerc__client__t.html" title="Client object data.">_playerc_client_t</a> *client[128];
<a name="l00396"></a>00396 
<a name="l00397"></a>00397   <span class="comment">/* Poll info*/</span>
<a name="l00398"></a>00398   <span class="keyword">struct </span>pollfd* pollfd;
<a name="l00399"></a>00399 
<a name="l00400"></a>00400   <span class="comment">/* Latest time received from any server*/</span>
<a name="l00401"></a>00401   <span class="keywordtype">double</span> time;
<a name="l00402"></a>00402 
<a name="l00403"></a>00403 } <a class="code" href="structplayerc__mclient__t.html">playerc_mclient_t</a>;
<a name="l00404"></a>00404 
<a name="l00405"></a>00405 <span class="comment">/* Create a multi-client object*/</span>
<a name="l00406"></a>00406 PLAYERC_EXPORT <a class="code" href="structplayerc__mclient__t.html">playerc_mclient_t</a> *playerc_mclient_create(<span class="keywordtype">void</span>);
<a name="l00407"></a>00407 
<a name="l00408"></a>00408 <span class="comment">/* Destroy a multi-client object*/</span>
<a name="l00409"></a>00409 PLAYERC_EXPORT <span class="keywordtype">void</span> playerc_mclient_destroy(<a class="code" href="structplayerc__mclient__t.html">playerc_mclient_t</a> *mclient);
<a name="l00410"></a>00410 
<a name="l00411"></a>00411 <span class="comment">/* Add a client to the multi-client (private).*/</span>
<a name="l00412"></a>00412 PLAYERC_EXPORT <span class="keywordtype">int</span> playerc_mclient_addclient(<a class="code" href="structplayerc__mclient__t.html">playerc_mclient_t</a> *mclient, <span class="keyword">struct</span> <a class="code" href="struct__playerc__client__t.html" title="Client object data.">_playerc_client_t</a> *client);
<a name="l00413"></a>00413 
<a name="l00414"></a>00414 <span class="comment">/* Test to see if there is pending data.</span>
<a name="l00415"></a>00415 <span class="comment">   Returns -1 on error, 0 or 1 otherwise.*/</span>
<a name="l00416"></a>00416 PLAYERC_EXPORT <span class="keywordtype">int</span> playerc_mclient_peek(<a class="code" href="structplayerc__mclient__t.html">playerc_mclient_t</a> *mclient, <span class="keywordtype">int</span> timeout);
<a name="l00417"></a>00417 
<a name="l00418"></a>00418 <span class="comment">/* Read incoming data.  The timeout is in ms.  Set timeout to a</span>
<a name="l00419"></a>00419 <span class="comment">   negative value to wait indefinitely.*/</span>
<a name="l00420"></a>00420 PLAYERC_EXPORT <span class="keywordtype">int</span> playerc_mclient_read(<a class="code" href="structplayerc__mclient__t.html">playerc_mclient_t</a> *mclient, <span class="keywordtype">int</span> timeout);
<a name="l00421"></a>00421 
<a name="l00423"></a>00423 <span class="comment">/***************************************************************************/</span>
<a name="l00424"></a>00424 
<a name="l00425"></a>00425 
<a name="l00426"></a>00426 <span class="comment">/***************************************************************************/</span>
<a name="l00439"></a><a class="code" href="group__playerc__client.html#gad98282e0bb4b776229284c0342c6f348">00439</a> PLAYERC_EXPORT <span class="keyword">typedef</span> void (*<a class="code" href="group__playerc__client.html#gad98282e0bb4b776229284c0342c6f348" title="Typedef for proxy callback function.">playerc_putmsg_fn_t</a>) (<span class="keywordtype">void</span> *device, <span class="keywordtype">char</span> *header, <span class="keywordtype">char</span> *data);
<a name="l00440"></a>00440 
<a name="l00442"></a><a class="code" href="group__playerc__client.html#gad7e70480b0d4c9f57dbe980a6a4293eb">00442</a> PLAYERC_EXPORT <span class="keyword">typedef</span> void (*<a class="code" href="group__playerc__client.html#gad7e70480b0d4c9f57dbe980a6a4293eb" title="Typedef for proxy callback function.">playerc_callback_fn_t</a>) (<span class="keywordtype">void</span> *data);
<a name="l00443"></a>00443 
<a name="l00444"></a>00444 
<a name="l00448"></a><a class="code" href="structplayerc__device__info__t.html">00448</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00449"></a>00449 {
<a name="l00451"></a><a class="code" href="structplayerc__device__info__t.html#a7c527f9b968fe155c44fa7192b3ffdf7">00451</a>   <a class="code" href="structplayer__devaddr.html" title="A device address.">player_devaddr_t</a> addr;
<a name="l00452"></a>00452 
<a name="l00454"></a><a class="code" href="structplayerc__device__info__t.html#a9f37b661fce786489061b69302ac52e6">00454</a>   <span class="keywordtype">char</span> drivername[PLAYER_MAX_DRIVER_STRING_LEN];
<a name="l00455"></a>00455 
<a name="l00456"></a>00456 } <a class="code" href="structplayerc__device__info__t.html" title="Info about an available (but not necessarily subscribed) device.">playerc_device_info_t</a>;
<a name="l00457"></a>00457 
<a name="l00458"></a>00458 
<a name="l00460"></a><a class="code" href="struct__playerc__client__t.html">00460</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__playerc__client__t.html" title="Client object data.">_playerc_client_t</a>
<a name="l00461"></a>00461 {
<a name="l00464"></a><a class="code" href="struct__playerc__client__t.html#ac3eabfbfc1d43895d922454961a07d89">00464</a>   <span class="keywordtype">void</span> *<a class="code" href="struct__playerc__client__t.html#ac3eabfbfc1d43895d922454961a07d89" title="A useful ID for identifying devices; mostly used by other language bindings.">id</a>;
<a name="l00465"></a>00465 
<a name="l00467"></a><a class="code" href="struct__playerc__client__t.html#aa520d611353d282deda4ad5f5b8dcfc7">00467</a>   <span class="keywordtype">char</span> *<a class="code" href="struct__playerc__client__t.html#aa520d611353d282deda4ad5f5b8dcfc7" title="Server address.">host</a>;
<a name="l00468"></a>00468   <span class="keywordtype">int</span> port;
<a name="l00469"></a>00469   <span class="keywordtype">int</span> transport;
<a name="l00470"></a>00470   <span class="keyword">struct </span>sockaddr_in server;
<a name="l00471"></a>00471 
<a name="l00474"></a><a class="code" href="struct__playerc__client__t.html#a16c9520f6923302834f826a3c21a2b97">00474</a>   <span class="keywordtype">int</span> <a class="code" href="struct__playerc__client__t.html#a16c9520f6923302834f826a3c21a2b97" title="Whether or not we&amp;#39;re currently connected.">connected</a>;
<a name="l00475"></a>00475 
<a name="l00479"></a><a class="code" href="struct__playerc__client__t.html#a2a43933140aeee04e3c5e466e98f04e4">00479</a>   <span class="keywordtype">int</span> <a class="code" href="struct__playerc__client__t.html#a2a43933140aeee04e3c5e466e98f04e4" title="How many times we&amp;#39;ll try to reconnect after a socket error.">retry_limit</a>;
<a name="l00480"></a>00480 
<a name="l00483"></a><a class="code" href="struct__playerc__client__t.html#a2fdfd0ee90a3794b25fa6e0fcf35ffc5">00483</a>   <span class="keywordtype">double</span> <a class="code" href="struct__playerc__client__t.html#a2fdfd0ee90a3794b25fa6e0fcf35ffc5" title="How long to sleep, in seconds, to sleep between reconnect attempts.">retry_time</a>;
<a name="l00484"></a>00484 
<a name="l00486"></a><a class="code" href="struct__playerc__client__t.html#a229e9341728a39b7283b7af33feff7bf">00486</a>   uint32_t <a class="code" href="struct__playerc__client__t.html#a229e9341728a39b7283b7af33feff7bf" title="How many messages were lost on the server due to overflows, incremented by player, cleared by user.">overflow_count</a>;
<a name="l00487"></a>00487 
<a name="l00488"></a>00488 
<a name="l00490"></a><a class="code" href="struct__playerc__client__t.html#a730b40fb9918ee390a1f46aa8d6f0341">00490</a>   <span class="keywordtype">int</span> <a class="code" href="struct__playerc__client__t.html#a730b40fb9918ee390a1f46aa8d6f0341">sock</a>;
<a name="l00491"></a>00491 
<a name="l00493"></a><a class="code" href="struct__playerc__client__t.html#adb0456faed690d6c1deb4482ebae24cf">00493</a>   uint8_t <a class="code" href="struct__playerc__client__t.html#adb0456faed690d6c1deb4482ebae24cf">mode</a>;
<a name="l00494"></a>00494 
<a name="l00497"></a><a class="code" href="struct__playerc__client__t.html#a84470e063ebf541d6a9990a35693e6fe">00497</a>   <span class="keywordtype">int</span> <a class="code" href="struct__playerc__client__t.html#a84470e063ebf541d6a9990a35693e6fe">data_requested</a>;
<a name="l00498"></a>00498 
<a name="l00501"></a><a class="code" href="struct__playerc__client__t.html#a99648ad5fb3c3285fd57f51de602e9b0">00501</a>   <span class="keywordtype">int</span> <a class="code" href="struct__playerc__client__t.html#a99648ad5fb3c3285fd57f51de602e9b0">data_received</a>;
<a name="l00502"></a>00502 
<a name="l00503"></a>00503 
<a name="l00506"></a><a class="code" href="struct__playerc__client__t.html#ae26e638a6bb1ff2958142f779fcd8cd3">00506</a>   <a class="code" href="structplayerc__device__info__t.html" title="Info about an available (but not necessarily subscribed) device.">playerc_device_info_t</a> <a class="code" href="struct__playerc__client__t.html#ae26e638a6bb1ff2958142f779fcd8cd3" title="List of available (but not necessarily subscribed) devices.">devinfos</a>[PLAYER_MAX_DEVICES];
<a name="l00507"></a>00507   <span class="keywordtype">int</span> devinfo_count;
<a name="l00508"></a>00508 
<a name="l00510"></a><a class="code" href="struct__playerc__client__t.html#a4cd1a235e0a7372cf97178c5429b0012">00510</a>   <span class="keyword">struct </span><a class="code" href="struct__playerc__device__t.html" title="Common device info.">_playerc_device_t</a> *device[PLAYER_MAX_DEVICES];
<a name="l00511"></a>00511   <span class="keywordtype">int</span> device_count;
<a name="l00512"></a>00512 
<a name="l00514"></a><a class="code" href="struct__playerc__client__t.html#af66ffb201273c8c9846c6e1beb2a03a5">00514</a>   <a class="code" href="structplayerc__client__item__t.html">playerc_client_item_t</a> <a class="code" href="struct__playerc__client__t.html#af66ffb201273c8c9846c6e1beb2a03a5">qitems</a>[PLAYERC_QUEUE_RING_SIZE];
<a name="l00515"></a>00515   <span class="keywordtype">int</span> qfirst, qlen, qsize;
<a name="l00516"></a>00516 
<a name="l00518"></a><a class="code" href="struct__playerc__client__t.html#a0c6cfb1cc5bc4f978e1c1e304ec5a2c0">00518</a>   <span class="keywordtype">char</span> *<a class="code" href="struct__playerc__client__t.html#a0c6cfb1cc5bc4f978e1c1e304ec5a2c0">data</a>;
<a name="l00519"></a>00519   <span class="keywordtype">char</span> *write_xdrdata;
<a name="l00520"></a>00520   <span class="keywordtype">char</span> *read_xdrdata;
<a name="l00521"></a>00521   <span class="keywordtype">size_t</span> read_xdrdata_len;
<a name="l00522"></a>00522 
<a name="l00523"></a>00523 
<a name="l00525"></a><a class="code" href="struct__playerc__client__t.html#a3782717fbbf8acf95881dcb538be8d9b">00525</a>   <span class="keywordtype">double</span> <a class="code" href="struct__playerc__client__t.html#a3782717fbbf8acf95881dcb538be8d9b" title="Server time stamp on the last packet.">datatime</a>;
<a name="l00527"></a><a class="code" href="struct__playerc__client__t.html#a09edb740097dc530fa4a0db587233a13">00527</a>   <span class="keywordtype">double</span> <a class="code" href="struct__playerc__client__t.html#a09edb740097dc530fa4a0db587233a13" title="Server time stamp on the previous packet.">lasttime</a>;
<a name="l00528"></a>00528 
<a name="l00529"></a>00529   <span class="keywordtype">double</span> request_timeout;
<a name="l00530"></a>00530 
<a name="l00531"></a>00531 } <a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a>;
<a name="l00532"></a>00532 
<a name="l00533"></a>00533 
<a name="l00549"></a>00549 PLAYERC_EXPORT <a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *<a class="code" href="group__playerc__client.html#ga3f6ad85306c9faa2d799817b7e57aa9e" title="Create a client object.">playerc_client_create</a>(<a class="code" href="structplayerc__mclient__t.html">playerc_mclient_t</a> *mclient,
<a name="l00550"></a>00550                                         <span class="keyword">const</span> <span class="keywordtype">char</span> *host, <span class="keywordtype">int</span> port);
<a name="l00551"></a>00551 
<a name="l00557"></a>00557 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__client.html#ga1cae342cd44cc82e0fb95af32797898a" title="Destroy a client object.">playerc_client_destroy</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *<a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>);
<a name="l00558"></a>00558 
<a name="l00563"></a>00563 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__client.html#ga9d9f8873b10b10ec2991674d32d05155" title="Set the transport type.">playerc_client_set_transport</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a>* <a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>,
<a name="l00564"></a>00564                                   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> transport);
<a name="l00565"></a>00565 
<a name="l00574"></a>00574 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__client.html#ga5bf536922ccb55b895cd7f7d64df5453" title="Connect to the server.">playerc_client_connect</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *<a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>);
<a name="l00575"></a>00575 
<a name="l00584"></a>00584 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__client.html#ga6637deaff563ea0068d639a368ce5125" title="Disconnect from the server.">playerc_client_disconnect</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *<a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>);
<a name="l00585"></a>00585 
<a name="l00592"></a>00592 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__client.html#gafb407c155f850120f965f340b63f9320" title="Disconnect from the server, with potential retry.">playerc_client_disconnect_retry</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *<a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>);
<a name="l00593"></a>00593 
<a name="l00608"></a>00608 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__client.html#gabb027414e8ef9726ac04040e955a96c2" title="Change the server&amp;#39;s data delivery mode.">playerc_client_datamode</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *<a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>, uint8_t mode);
<a name="l00609"></a>00609 
<a name="l00621"></a>00621 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__client.html#gae15ccb3b14ce2e837cb50d1a2b4ca6ef" title="Request a round of data.">playerc_client_requestdata</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a>* <a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>);
<a name="l00622"></a>00622 
<a name="l00645"></a>00645 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__client.html#ga614460854dbe3336e87388d0912fe96e" title="Set a replace rule for the client queue on the server.">playerc_client_set_replace_rule</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *<a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>, <span class="keywordtype">int</span> interf, <span class="keywordtype">int</span> index, <span class="keywordtype">int</span> type, <span class="keywordtype">int</span> subtype, <span class="keywordtype">int</span> replace);
<a name="l00646"></a>00646 
<a name="l00647"></a>00647 
<a name="l00650"></a>00650 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__client.html#ga787ada446523d54564134303cd5c56c1" title="Add a device proxy.">playerc_client_adddevice</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *<a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>, <span class="keyword">struct</span> <a class="code" href="struct__playerc__device__t.html" title="Common device info.">_playerc_device_t</a> *device);
<a name="l00651"></a>00651 
<a name="l00652"></a>00652 
<a name="l00655"></a>00655 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__client.html#gaafa3d9eef35b887ed0789d02fc622679" title="Remove a device proxy.">playerc_client_deldevice</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *<a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>, <span class="keyword">struct</span> <a class="code" href="struct__playerc__device__t.html" title="Common device info.">_playerc_device_t</a> *device);
<a name="l00656"></a>00656 
<a name="l00659"></a>00659 PLAYERC_EXPORT <span class="keywordtype">int</span>  <a class="code" href="group__playerc__client.html#ga437742c8803f5f2d967f82d3fd1dd00e" title="Add user callbacks (called when new data arrives).">playerc_client_addcallback</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *<a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>, <span class="keyword">struct</span> <a class="code" href="struct__playerc__device__t.html" title="Common device info.">_playerc_device_t</a> *device,
<a name="l00660"></a>00660                                 <a class="code" href="group__playerc__client.html#gad7e70480b0d4c9f57dbe980a6a4293eb" title="Typedef for proxy callback function.">playerc_callback_fn_t</a> callback, <span class="keywordtype">void</span> *data);
<a name="l00661"></a>00661 
<a name="l00664"></a>00664 PLAYERC_EXPORT <span class="keywordtype">int</span>  <a class="code" href="group__playerc__client.html#gaaba403a58acd73991bf1296a8127fb83" title="Remove user callbacks (called when new data arrives).">playerc_client_delcallback</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *<a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>, <span class="keyword">struct</span> <a class="code" href="struct__playerc__device__t.html" title="Common device info.">_playerc_device_t</a> *device,
<a name="l00665"></a>00665                                 <a class="code" href="group__playerc__client.html#gad7e70480b0d4c9f57dbe980a6a4293eb" title="Typedef for proxy callback function.">playerc_callback_fn_t</a> callback, <span class="keywordtype">void</span> *data);
<a name="l00666"></a>00666 
<a name="l00678"></a>00678 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__client.html#ga7e24e5c9127d84d127c6464bfa5e15d0" title="Get the list of available device ids.">playerc_client_get_devlist</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *<a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>);
<a name="l00679"></a>00679 
<a name="l00682"></a>00682 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__client.html#ga56b20c0d5aeb34f9174bcd05ffe635da" title="Subscribe a device.">playerc_client_subscribe</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *<a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>, <span class="keywordtype">int</span> code, <span class="keywordtype">int</span> index,
<a name="l00683"></a>00683                              <span class="keywordtype">int</span> access, <span class="keywordtype">char</span> *<a class="code" href="struct__playerc__device__t.html#a88a140f829940c3b998187e67d692fa3" title="The driver name.">drivername</a>, <span class="keywordtype">size_t</span> len);
<a name="l00684"></a>00684 
<a name="l00687"></a>00687 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__client.html#gab6901e9b9b3d48f558505e96375e7a8d" title="Unsubscribe a device.">playerc_client_unsubscribe</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *<a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>, <span class="keywordtype">int</span> code, <span class="keywordtype">int</span> index);
<a name="l00688"></a>00688 
<a name="l00699"></a>00699 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__client.html#ga1aa2ff621c82c99834ef9e1053d52943" title="Issue a request to the server and await a reply (blocking).">playerc_client_request</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *<a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>,
<a name="l00700"></a>00700                            <span class="keyword">struct</span> <a class="code" href="struct__playerc__device__t.html" title="Common device info.">_playerc_device_t</a> *device, uint8_t reqtype,
<a name="l00701"></a>00701                            <span class="keyword">const</span> <span class="keywordtype">void</span> *req_data, <span class="keywordtype">void</span> **rep_data);
<a name="l00702"></a>00702 
<a name="l00713"></a>00713 <span class="comment">/*int playerc_client_getresponse(playerc_client_t *client, uint16_t device,</span>
<a name="l00714"></a>00714 <span class="comment">    uint16_t index, uint16_t sequence, uint8_t * resptype, uint8_t * resp_data, int resp_len);</span>
<a name="l00715"></a>00715 <span class="comment">*/</span>
<a name="l00727"></a>00727 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__client.html#ga2647e1178b9de53db1f1578ff6bbf048" title="Wait for response from server (blocking).">playerc_client_peek</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *<a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>, <span class="keywordtype">int</span> timeout);
<a name="l00728"></a>00728 
<a name="l00741"></a>00741 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__client.html#gad6a4b3d0252d02fc04a25d7a00a083b4" title="Test to see if there is pending data.">playerc_client_internal_peek</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *<a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>, <span class="keywordtype">int</span> timeout);
<a name="l00742"></a>00742 
<a name="l00757"></a>00757 PLAYERC_EXPORT <span class="keywordtype">void</span> *<a class="code" href="group__playerc__client.html#ga4dde3a1fa0fb0288cbf39fce32ecb960" title="Read data from the server (blocking).">playerc_client_read</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *<a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>);
<a name="l00758"></a>00758 
<a name="l00761"></a>00761 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__client.html#gab2e422b4ce36d9bdbf27929100279210" title="Read and process a packet (nonblocking).">playerc_client_read_nonblock</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *<a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>);
<a name="l00764"></a>00764 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__client.html#gaa0d736d863f3def74f4764eaba62f6ab" title="Read and process a packet (nonblocking), fills in pointer to proxy that got data.">playerc_client_read_nonblock_withproxy</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *<a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>, <span class="keywordtype">void</span> ** proxy);
<a name="l00765"></a>00765 
<a name="l00772"></a>00772 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__client.html#gaddf1663a4370b15be7941aa87ddfe16c" title="Set the timeout for client requests.">playerc_client_set_request_timeout</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a>* <a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>, uint32_t seconds);
<a name="l00773"></a>00773 
<a name="l00780"></a>00780 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__client.html#ga3025a79ece2a7c6608eab9de3f08c195" title="Set the connection retry limit.">playerc_client_set_retry_limit</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a>* <a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>, <span class="keywordtype">int</span> <a class="code" href="group__player__clientlib__utility.html#ga902d23bb9582b278d85e10477126a10a" title="Limit a value to the range of min, max.">limit</a>);
<a name="l00781"></a>00781 
<a name="l00787"></a>00787 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__client.html#gaebdce291cd7c283d6f48943c265ec320" title="Set the connection retry sleep time.">playerc_client_set_retry_time</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a>* <a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>, <span class="keywordtype">double</span> time);
<a name="l00788"></a>00788 
<a name="l00791"></a>00791 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__client.html#ga9b7345ee85e793c9c011bf9b90254025" title="Write data to the server.">playerc_client_write</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *<a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>,
<a name="l00792"></a>00792                          <span class="keyword">struct</span> <a class="code" href="struct__playerc__device__t.html" title="Common device info.">_playerc_device_t</a> *device,
<a name="l00793"></a>00793                          uint8_t subtype,
<a name="l00794"></a>00794                          <span class="keywordtype">void</span> *cmd, <span class="keywordtype">double</span>* timestamp);
<a name="l00795"></a>00795 
<a name="l00796"></a>00796 
<a name="l00798"></a>00798 <span class="comment">/**************************************************************************/</span>
<a name="l00799"></a>00799 
<a name="l00800"></a>00800 
<a name="l00801"></a>00801 <span class="comment">/***************************************************************************/</span>
<a name="l00814"></a><a class="code" href="struct__playerc__device__t.html">00814</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__playerc__device__t.html" title="Common device info.">_playerc_device_t</a>
<a name="l00815"></a>00815 {
<a name="l00819"></a><a class="code" href="struct__playerc__device__t.html#adc7b9a1af67df7473563ca5ab1b358b3">00819</a>   <span class="keywordtype">void</span> *<a class="code" href="struct__playerc__device__t.html#adc7b9a1af67df7473563ca5ab1b358b3" title="A useful ID for identifying devices; mostly used by other language bindings.">id</a>;
<a name="l00820"></a>00820 
<a name="l00822"></a><a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe">00822</a>   <a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *<a class="code" href="struct__playerc__device__t.html#a278782fe8308fa8abdc9bdc31ce82afe" title="Pointer to the client proxy.">client</a>;
<a name="l00823"></a>00823 
<a name="l00825"></a><a class="code" href="struct__playerc__device__t.html#af8fe41fa301ca029aaeabb3aaba0700e">00825</a>   <a class="code" href="structplayer__devaddr.html" title="A device address.">player_devaddr_t</a> <a class="code" href="struct__playerc__device__t.html#af8fe41fa301ca029aaeabb3aaba0700e" title="Device address.">addr</a>;
<a name="l00826"></a>00826 
<a name="l00828"></a><a class="code" href="struct__playerc__device__t.html#a88a140f829940c3b998187e67d692fa3">00828</a>   <span class="keywordtype">char</span> <a class="code" href="struct__playerc__device__t.html#a88a140f829940c3b998187e67d692fa3" title="The driver name.">drivername</a>[PLAYER_MAX_DRIVER_STRING_LEN];
<a name="l00829"></a>00829 
<a name="l00832"></a><a class="code" href="struct__playerc__device__t.html#a470cb706a9e6cda107d1a9d5923ff3da">00832</a>   <span class="keywordtype">int</span> <a class="code" href="struct__playerc__device__t.html#a470cb706a9e6cda107d1a9d5923ff3da" title="The subscribe flag is non-zero if the device has been successfully subscribed (read-only).">subscribed</a>;
<a name="l00833"></a>00833 
<a name="l00835"></a><a class="code" href="struct__playerc__device__t.html#aea0697bbfff54b4be428ed4f6755c8ff">00835</a>   <span class="keywordtype">double</span> <a class="code" href="struct__playerc__device__t.html#aea0697bbfff54b4be428ed4f6755c8ff" title="Data timestamp, i.e., the time at which the data was generated (s).">datatime</a>;
<a name="l00836"></a>00836 
<a name="l00838"></a><a class="code" href="struct__playerc__device__t.html#a26306b621f9ca53f4bebcc02c2de44ef">00838</a>   <span class="keywordtype">double</span> <a class="code" href="struct__playerc__device__t.html#a26306b621f9ca53f4bebcc02c2de44ef" title="Data timestamp from the previous data.">lasttime</a>;
<a name="l00839"></a>00839 
<a name="l00843"></a><a class="code" href="struct__playerc__device__t.html#a2672b913eb157d3098487c7186d37543">00843</a>   <span class="keywordtype">int</span> <a class="code" href="struct__playerc__device__t.html#a2672b913eb157d3098487c7186d37543" title="Freshness flag.">fresh</a>;
<a name="l00847"></a><a class="code" href="struct__playerc__device__t.html#ae2753e0c0826e8db8306050727e96f3e">00847</a>   <span class="keywordtype">int</span> <a class="code" href="struct__playerc__device__t.html#ae2753e0c0826e8db8306050727e96f3e" title="Freshness flag.">freshgeom</a>;
<a name="l00851"></a><a class="code" href="struct__playerc__device__t.html#a53c87b27a061f66adc1e2762cfd4959a">00851</a>   <span class="keywordtype">int</span> <a class="code" href="struct__playerc__device__t.html#a53c87b27a061f66adc1e2762cfd4959a" title="Freshness flag.">freshconfig</a>;
<a name="l00852"></a>00852 
<a name="l00854"></a><a class="code" href="struct__playerc__device__t.html#abc905b9026968820209dfbf4e624f6cc">00854</a>   <a class="code" href="group__playerc__client.html#gad98282e0bb4b776229284c0342c6f348" title="Typedef for proxy callback function.">playerc_putmsg_fn_t</a> <a class="code" href="struct__playerc__device__t.html#abc905b9026968820209dfbf4e624f6cc" title="Standard message callback for this device.">putmsg</a>;
<a name="l00855"></a>00855 
<a name="l00857"></a><a class="code" href="struct__playerc__device__t.html#ae2193d62f96d79ea248beffc96fad81f">00857</a>   <span class="keywordtype">void</span> *<a class="code" href="struct__playerc__device__t.html#ae2193d62f96d79ea248beffc96fad81f" title="Extra user data for this device.">user_data</a>;
<a name="l00858"></a>00858 
<a name="l00860"></a><a class="code" href="struct__playerc__device__t.html#aec94c56d51ba705ca5828eb5b4dea10a">00860</a>   <span class="keywordtype">int</span> <a class="code" href="struct__playerc__device__t.html#aec94c56d51ba705ca5828eb5b4dea10a" title="Extra callbacks for this device.">callback_count</a>;
<a name="l00861"></a>00861   <a class="code" href="group__playerc__client.html#gad7e70480b0d4c9f57dbe980a6a4293eb" title="Typedef for proxy callback function.">playerc_callback_fn_t</a> callback[4];
<a name="l00862"></a>00862   <span class="keywordtype">void</span> *callback_data[4];
<a name="l00863"></a>00863 
<a name="l00864"></a>00864 } <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a>;
<a name="l00865"></a>00865 
<a name="l00866"></a>00866 
<a name="l00868"></a>00868 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__device.html#gac1d65abd787c2b457518b74bdafd1163" title="Initialise the device.">playerc_device_init</a>(<a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> *device, <a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client,
<a name="l00869"></a>00869                          <span class="keywordtype">int</span> code, <span class="keywordtype">int</span> index, <a class="code" href="group__playerc__client.html#gad98282e0bb4b776229284c0342c6f348" title="Typedef for proxy callback function.">playerc_putmsg_fn_t</a> putmsg);
<a name="l00870"></a>00870 
<a name="l00872"></a>00872 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__device.html#gab32089e28862a6e16462fd036e95f55e" title="Finalize the device.">playerc_device_term</a>(<a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> *device);
<a name="l00873"></a>00873 
<a name="l00875"></a>00875 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__device.html#gad6486f7e1ed6389dbc8073da841e9fb3" title="Subscribe the device.">playerc_device_subscribe</a>(<a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l00876"></a>00876 
<a name="l00878"></a>00878 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__device.html#ga349055df6839b6665002402f6fc3691e" title="Unsubscribe the device.">playerc_device_unsubscribe</a>(<a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> *device);
<a name="l00879"></a>00879 
<a name="l00881"></a>00881 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__device.html#gacbe27daa2e396a7f04c2500a854c8b21" title="Request capabilities of device.">playerc_device_hascapability</a>(<a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> *device, uint32_t type, uint32_t subtype);
<a name="l00882"></a>00882 
<a name="l00884"></a>00884 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__device.html#ga4aca9ec693e5f6c54075961a67f28c98" title="Request a boolean property.">playerc_device_get_boolprop</a>(<a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> *device, <span class="keywordtype">char</span> *property, BOOL *value);
<a name="l00885"></a>00885 
<a name="l00887"></a>00887 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__device.html#gaa20b9d2a3b47d1f320a5c1da4b670365" title="Set a boolean property.">playerc_device_set_boolprop</a>(<a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> *device, <span class="keywordtype">char</span> *property, BOOL value);
<a name="l00888"></a>00888 
<a name="l00890"></a>00890 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__device.html#ga7c6603a62787fca47d80289741216983" title="Request an integer property.">playerc_device_get_intprop</a>(<a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> *device, <span class="keywordtype">char</span> *property, int32_t *value);
<a name="l00891"></a>00891 
<a name="l00893"></a>00893 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__device.html#ga9280c52fc831607c311438cbd84d7407" title="Set an integer property.">playerc_device_set_intprop</a>(<a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> *device, <span class="keywordtype">char</span> *property, int32_t value);
<a name="l00894"></a>00894 
<a name="l00896"></a>00896 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__device.html#gafcb995d14761cf5b18f2635a4e19508b" title="Request a double property.">playerc_device_get_dblprop</a>(<a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> *device, <span class="keywordtype">char</span> *property, <span class="keywordtype">double</span> *value);
<a name="l00897"></a>00897 
<a name="l00899"></a>00899 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__device.html#gacbfcfaa591c4737e57f3d1be4db1cada" title="Set a double property.">playerc_device_set_dblprop</a>(<a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> *device, <span class="keywordtype">char</span> *property, <span class="keywordtype">double</span> value);
<a name="l00900"></a>00900 
<a name="l00902"></a>00902 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__device.html#ga807afa661405d1de1e7742d74bdfd457" title="Request a string property.">playerc_device_get_strprop</a>(<a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> *device, <span class="keywordtype">char</span> *property, <span class="keywordtype">char</span> **value);
<a name="l00903"></a>00903 
<a name="l00905"></a>00905 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__device.html#ga1d13b6a371179187fb4f9b820c9bf487" title="Set a string property.">playerc_device_set_strprop</a>(<a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> *device, <span class="keywordtype">char</span> *property, <span class="keywordtype">char</span> *value);
<a name="l00906"></a>00906 
<a name="l00907"></a>00907 
<a name="l00909"></a>00909 <span class="comment">/**************************************************************************/</span>
<a name="l00910"></a>00910 
<a name="l00911"></a>00911 
<a name="l00912"></a>00912 <span class="comment">/***************************************************************************/</span>
<a name="l00917"></a>00917 <span class="comment">/***************************************************************************/</span>
<a name="l00918"></a>00918 
<a name="l00919"></a>00919 <span class="comment">/**************************************************************************/</span>
<a name="l00929"></a><a class="code" href="structplayerc__aio__t.html">00929</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00930"></a>00930 {
<a name="l00932"></a><a class="code" href="structplayerc__aio__t.html#ac0c3bab097d1850092f993984aa0ed41">00932</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l00933"></a>00933 
<a name="l00934"></a>00934   <span class="comment">/* The number of valid analog inputs.*/</span>
<a name="l00935"></a>00935   uint8_t voltages_count;
<a name="l00936"></a>00936 
<a name="l00937"></a>00937   <span class="comment">/* A bitfield of the current digital inputs.*/</span>
<a name="l00938"></a>00938   <span class="keywordtype">float</span> *voltages;
<a name="l00939"></a>00939 
<a name="l00940"></a>00940 } <a class="code" href="structplayerc__aio__t.html" title="Aio proxy data.">playerc_aio_t</a>;
<a name="l00941"></a>00941 
<a name="l00942"></a>00942 
<a name="l00944"></a>00944 PLAYERC_EXPORT <a class="code" href="structplayerc__aio__t.html" title="Aio proxy data.">playerc_aio_t</a> *<a class="code" href="group__playerc__proxy__aio.html#ga2fdc1305fcb8716fe217dc6ec0fe9a73" title="Create a aio proxy.">playerc_aio_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l00945"></a>00945 
<a name="l00947"></a>00947 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__aio.html#gabfdb2accc5de179fe5602abd361479b5" title="Destroy a aio proxy.">playerc_aio_destroy</a>(<a class="code" href="structplayerc__aio__t.html" title="Aio proxy data.">playerc_aio_t</a> *device);
<a name="l00948"></a>00948 
<a name="l00950"></a>00950 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__aio.html#gace66fc64cf5c68e8b53adb62c361964d" title="Subscribe to the aio device.">playerc_aio_subscribe</a>(<a class="code" href="structplayerc__aio__t.html" title="Aio proxy data.">playerc_aio_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l00951"></a>00951 
<a name="l00953"></a>00953 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__aio.html#gace5cc693dbd2fd71d2e97164b079028e" title="Un-subscribe from the aio device.">playerc_aio_unsubscribe</a>(<a class="code" href="structplayerc__aio__t.html" title="Aio proxy data.">playerc_aio_t</a> *device);
<a name="l00954"></a>00954 
<a name="l00956"></a>00956 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__aio.html#ga3189f34d816ce7153ba8abd9b1b5912d" title="Set the output for the aio device.">playerc_aio_set_output</a>(<a class="code" href="structplayerc__aio__t.html" title="Aio proxy data.">playerc_aio_t</a> *device, uint8_t <span class="keywordtype">id</span>, <span class="keywordtype">float</span> volt);
<a name="l00957"></a>00957 
<a name="l00959"></a>00959 PLAYERC_EXPORT <span class="keywordtype">float</span> <a class="code" href="group__playerc__proxy__aio.html#ga4c92dd4bcee451fc4418001c52ccc827" title="get the aio data">playerc_aio_get_data</a>(<a class="code" href="structplayerc__aio__t.html" title="Aio proxy data.">playerc_aio_t</a> *device, uint32_t index);
<a name="l00960"></a>00960 
<a name="l00962"></a>00962 <span class="comment">/***************************************************************************/</span>
<a name="l00963"></a>00963 
<a name="l00964"></a>00964 
<a name="l00965"></a>00965 <span class="comment">/***************************************************************************/</span>
<a name="l00976"></a>00976 <span class="preprocessor">#define PLAYERC_ACTARRAY_NUM_ACTUATORS PLAYER_ACTARRAY_NUM_ACTUATORS</span>
<a name="l00977"></a>00977 <span class="preprocessor"></span><span class="preprocessor">#define PLAYERC_ACTARRAY_ACTSTATE_IDLE PLAYER_ACTARRAY_ACTSTATE_IDLE</span>
<a name="l00978"></a>00978 <span class="preprocessor"></span><span class="preprocessor">#define PLAYERC_ACTARRAY_ACTSTATE_MOVING PLAYER_ACTARRAY_ACTSTATE_MOVING</span>
<a name="l00979"></a>00979 <span class="preprocessor"></span><span class="preprocessor">#define PLAYERC_ACTARRAY_ACTSTATE_BRAKED PLAYER_ACTARRAY_ACTSTATE_BRAKED</span>
<a name="l00980"></a>00980 <span class="preprocessor"></span><span class="preprocessor">#define PLAYERC_ACTARRAY_ACTSTATE_STALLED PLAYER_ACTARRAY_ACTSTATE_STALLED</span>
<a name="l00981"></a>00981 <span class="preprocessor"></span><span class="preprocessor">#define PLAYERC_ACTARRAY_TYPE_LINEAR PLAYER_ACTARRAY_TYPE_LINEAR</span>
<a name="l00982"></a>00982 <span class="preprocessor"></span><span class="preprocessor">#define PLAYERC_ACTARRAY_TYPE_ROTARY PLAYER_ACTARRAY_TYPE_ROTARY</span>
<a name="l00983"></a>00983 <span class="preprocessor"></span>
<a name="l00984"></a>00984 
<a name="l00986"></a><a class="code" href="structplayerc__actarray__t.html">00986</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00987"></a>00987 {
<a name="l00989"></a><a class="code" href="structplayerc__actarray__t.html#a1536c78eda3d1920f9d6c3f78b8fd04b">00989</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l00990"></a>00990 
<a name="l00992"></a><a class="code" href="structplayerc__actarray__t.html#a1f4b0554bbd28545408ed9c5dbc1096f">00992</a>   uint32_t actuators_count;
<a name="l00994"></a><a class="code" href="structplayerc__actarray__t.html#ae03bc320cff36756ce683871ee6e24a5">00994</a>   <a class="code" href="structplayer__actarray__actuator.html" title="Structure containing a single actuator&amp;#39;s information.">player_actarray_actuator_t</a> *actuators_data;
<a name="l00996"></a><a class="code" href="structplayerc__actarray__t.html#ad43cf28ea68eb4ff58755b08e65cfa31">00996</a>   uint32_t actuators_geom_count;
<a name="l00997"></a>00997   <a class="code" href="structplayer__actarray__actuatorgeom.html" title="Actuator geometry.">player_actarray_actuatorgeom_t</a> *actuators_geom;
<a name="l00999"></a><a class="code" href="structplayerc__actarray__t.html#ab7a48c894041cbdadbf89dcb0f79f97e">00999</a>   uint8_t motor_state;
<a name="l01001"></a><a class="code" href="structplayerc__actarray__t.html#a37dc11883deb50607ab3cc1d1f2d5a48">01001</a>   <a class="code" href="structplayer__point__3d.html" title="A point in 3D space.">player_point_3d_t</a> base_pos;
<a name="l01003"></a><a class="code" href="structplayerc__actarray__t.html#a1671a942fea36800a6f6f239bc37c247">01003</a>   <a class="code" href="structplayer__orientation__3d.html" title="An angle in 3D space.">player_orientation_3d_t</a> base_orientation;
<a name="l01004"></a>01004 } <a class="code" href="structplayerc__actarray__t.html" title="Actarray device data.">playerc_actarray_t</a>;
<a name="l01005"></a>01005 
<a name="l01007"></a>01007 PLAYERC_EXPORT <a class="code" href="structplayerc__actarray__t.html" title="Actarray device data.">playerc_actarray_t</a> *<a class="code" href="group__playerc__proxy__actarray.html#ga13ddf913c323b69054c12e427c8b9dde" title="Create an actarray proxy.">playerc_actarray_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l01008"></a>01008 
<a name="l01010"></a>01010 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__actarray.html#ga510835fdaf7417c743e65b03e6a3ab4f" title="Destroy an actarray proxy.">playerc_actarray_destroy</a>(<a class="code" href="structplayerc__actarray__t.html" title="Actarray device data.">playerc_actarray_t</a> *device);
<a name="l01011"></a>01011 
<a name="l01013"></a>01013 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__actarray.html#gadd8b3802e26796b9d87b6e95352725e1" title="Subscribe to the actarray device.">playerc_actarray_subscribe</a>(<a class="code" href="structplayerc__actarray__t.html" title="Actarray device data.">playerc_actarray_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l01014"></a>01014 
<a name="l01016"></a>01016 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__actarray.html#ga07371bc26a70b3ed0c92c6597e3f5ec4" title="Un-subscribe from the actarray device.">playerc_actarray_unsubscribe</a>(<a class="code" href="structplayerc__actarray__t.html" title="Actarray device data.">playerc_actarray_t</a> *device);
<a name="l01017"></a>01017 
<a name="l01019"></a>01019 PLAYERC_EXPORT <a class="code" href="structplayer__actarray__actuator.html" title="Structure containing a single actuator&amp;#39;s information.">player_actarray_actuator_t</a> <a class="code" href="group__playerc__proxy__actarray.html#ga6976b932be216eec6afcce33376126ec" title="Accessor method for the actuator data.">playerc_actarray_get_actuator_data</a>(<a class="code" href="structplayerc__actarray__t.html" title="Actarray device data.">playerc_actarray_t</a> *device, uint32_t index);
<a name="l01020"></a>01020 
<a name="l01022"></a>01022 PLAYERC_EXPORT <a class="code" href="structplayer__actarray__actuatorgeom.html" title="Actuator geometry.">player_actarray_actuatorgeom_t</a> <a class="code" href="group__playerc__proxy__actarray.html#gab35e877829ef9cef0705e7d4e06de14f" title="Accessor method for the actuator geom.">playerc_actarray_get_actuator_geom</a>(<a class="code" href="structplayerc__actarray__t.html" title="Actarray device data.">playerc_actarray_t</a> *device, uint32_t index);
<a name="l01023"></a>01023 
<a name="l01026"></a>01026 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__actarray.html#ga555084e3d3cd1e5cf66fea45eceb4bf3" title="Get the actarray geometry.">playerc_actarray_get_geom</a>(<a class="code" href="structplayerc__actarray__t.html" title="Actarray device data.">playerc_actarray_t</a> *device);
<a name="l01027"></a>01027 
<a name="l01029"></a>01029 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__actarray.html#ga1b092f5903a4208a07574f674c145f65" title="Command a joint in the array to move to a specified position.">playerc_actarray_position_cmd</a>(<a class="code" href="structplayerc__actarray__t.html" title="Actarray device data.">playerc_actarray_t</a> *device, <span class="keywordtype">int</span> joint, <span class="keywordtype">float</span> position);
<a name="l01030"></a>01030 
<a name="l01032"></a>01032 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__actarray.html#gad0c2942e138bbac65cd45e913e4ac441" title="Command all joints in the array to move to specified positions.">playerc_actarray_multi_position_cmd</a>(<a class="code" href="structplayerc__actarray__t.html" title="Actarray device data.">playerc_actarray_t</a> *device, <span class="keywordtype">float</span> *positions, <span class="keywordtype">int</span> positions_count);
<a name="l01033"></a>01033 
<a name="l01035"></a>01035 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__actarray.html#gabbeaa2f5825a6251f379733d4c48f526" title="Command a joint in the array to move at a specified speed.">playerc_actarray_speed_cmd</a>(<a class="code" href="structplayerc__actarray__t.html" title="Actarray device data.">playerc_actarray_t</a> *device, <span class="keywordtype">int</span> joint, <span class="keywordtype">float</span> speed);
<a name="l01036"></a>01036 
<a name="l01038"></a>01038 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__actarray.html#gace6d2330ba5dc682890afbf625bcbea7" title="Command a joint in the array to move at a specified speed.">playerc_actarray_multi_speed_cmd</a>(<a class="code" href="structplayerc__actarray__t.html" title="Actarray device data.">playerc_actarray_t</a> *device, <span class="keywordtype">float</span> *speeds, <span class="keywordtype">int</span> speeds_count);
<a name="l01039"></a>01039 
<a name="l01041"></a>01041 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__actarray.html#gae7ae34590e605d46be5bb9ada6d332ce" title="Command a joint (or, if joint is -1, the whole array) to go to its home position.">playerc_actarray_home_cmd</a>(<a class="code" href="structplayerc__actarray__t.html" title="Actarray device data.">playerc_actarray_t</a> *device, <span class="keywordtype">int</span> joint);
<a name="l01042"></a>01042 
<a name="l01044"></a>01044 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__actarray.html#gab858ffefcc641ac9e31d45ef3f1661e5" title="Command a joint in the array to move with a specified current.">playerc_actarray_current_cmd</a>(<a class="code" href="structplayerc__actarray__t.html" title="Actarray device data.">playerc_actarray_t</a> *device, <span class="keywordtype">int</span> joint, <span class="keywordtype">float</span> current);
<a name="l01045"></a>01045 
<a name="l01047"></a>01047 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__actarray.html#gab2d91f67d0c6fb9eb7e2c3663336cd8d" title="Command all joints in the array to move with specified currents.">playerc_actarray_multi_current_cmd</a>(<a class="code" href="structplayerc__actarray__t.html" title="Actarray device data.">playerc_actarray_t</a> *device, <span class="keywordtype">float</span> *currents, <span class="keywordtype">int</span> currents_count);
<a name="l01048"></a>01048 
<a name="l01049"></a>01049 
<a name="l01053"></a>01053 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__actarray.html#ga21d7e1c41c8e2472d06d4ed7ae45b9bc" title="Turn the power to the array on or off.">playerc_actarray_power</a>(<a class="code" href="structplayerc__actarray__t.html" title="Actarray device data.">playerc_actarray_t</a> *device, uint8_t enable);
<a name="l01054"></a>01054 
<a name="l01056"></a>01056 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__actarray.html#ga5baecc249de1a61ce73c89d96f5042b7" title="Turn the brakes of all actuators in the array that have them on or off.">playerc_actarray_brakes</a>(<a class="code" href="structplayerc__actarray__t.html" title="Actarray device data.">playerc_actarray_t</a> *device, uint8_t enable);
<a name="l01057"></a>01057 
<a name="l01059"></a>01059 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__actarray.html#gae2313db176ab775d17cfc3c5f3128615" title="Set the speed of a joint (-1 for all joints) for all subsequent movement commands.">playerc_actarray_speed_config</a>(<a class="code" href="structplayerc__actarray__t.html" title="Actarray device data.">playerc_actarray_t</a> *device, <span class="keywordtype">int</span> joint, <span class="keywordtype">float</span> speed);
<a name="l01060"></a>01060 
<a name="l01061"></a>01061 <span class="comment">/* Set the accelration of a joint (-1 for all joints) for all subsequent movement commands*/</span>
<a name="l01062"></a>01062 PLAYERC_EXPORT <span class="keywordtype">int</span> playerc_actarray_accel_config(<a class="code" href="structplayerc__actarray__t.html" title="Actarray device data.">playerc_actarray_t</a> *device, <span class="keywordtype">int</span> joint, <span class="keywordtype">float</span> accel);
<a name="l01063"></a>01063 
<a name="l01064"></a>01064 
<a name="l01066"></a>01066 <span class="comment">/**************************************************************************/</span>
<a name="l01067"></a>01067 
<a name="l01068"></a>01068 <span class="comment">/***************************************************************************/</span>
<a name="l01080"></a><a class="code" href="structplayerc__audio__t.html">01080</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01081"></a>01081 {
<a name="l01083"></a><a class="code" href="structplayerc__audio__t.html#a333157602d2006391ec69a5ca0991751">01083</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l01084"></a>01084 
<a name="l01086"></a><a class="code" href="structplayerc__audio__t.html#a0f6a329fa88356867845ad14b3a5f94b">01086</a>   <a class="code" href="structplayer__audio__mixer__channel__list__detail.html" title="Player mixer channels.">player_audio_mixer_channel_list_detail_t</a> channel_details_list;
<a name="l01087"></a>01087 
<a name="l01089"></a><a class="code" href="structplayerc__audio__t.html#ab9e50a91f28f81bb649a550510d642cb">01089</a>   <a class="code" href="structplayer__audio__wav.html" title="Data: Raw audio data.">player_audio_wav_t</a> wav_data;
<a name="l01090"></a>01090 
<a name="l01092"></a><a class="code" href="structplayerc__audio__t.html#a08f5028e5ca36458b8e23be13db1f1d9">01092</a>   <a class="code" href="structplayer__audio__seq.html" title="Player audio sequence.">player_audio_seq_t</a> seq_data;
<a name="l01093"></a>01093 
<a name="l01095"></a><a class="code" href="structplayerc__audio__t.html#a2ae4f63719902f6a0b907927e8c43e47">01095</a>   <a class="code" href="structplayer__audio__mixer__channel__list.html" title="Player mixer channels.">player_audio_mixer_channel_list_t</a> mixer_data;
<a name="l01096"></a>01096 
<a name="l01098"></a><a class="code" href="structplayerc__audio__t.html#a30284ea84de52da5335fdd512074ec18">01098</a>   uint32_t state;
<a name="l01099"></a>01099 
<a name="l01100"></a>01100   <span class="keywordtype">int</span> last_index;
<a name="l01101"></a>01101 
<a name="l01102"></a>01102 } <a class="code" href="structplayerc__audio__t.html" title="Audio device data.">playerc_audio_t</a>;
<a name="l01103"></a>01103 
<a name="l01105"></a>01105 PLAYERC_EXPORT <a class="code" href="structplayerc__audio__t.html" title="Audio device data.">playerc_audio_t</a> *<a class="code" href="group__playerc__proxy__audio.html#ga08655ac264018435b38d2d17c70cd3fd" title="Create an audio proxy.">playerc_audio_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l01106"></a>01106 
<a name="l01108"></a>01108 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__audio.html#gae1d4ea7902153df22f08c319e4ef3d51" title="Destroy an audio proxy.">playerc_audio_destroy</a>(<a class="code" href="structplayerc__audio__t.html" title="Audio device data.">playerc_audio_t</a> *device);
<a name="l01109"></a>01109 
<a name="l01111"></a>01111 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__audio.html#ga4b8b8fa5f3c95907e76a0564456c60f8" title="Subscribe to the audio device.">playerc_audio_subscribe</a>(<a class="code" href="structplayerc__audio__t.html" title="Audio device data.">playerc_audio_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l01112"></a>01112 
<a name="l01114"></a>01114 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__audio.html#ga973cb8a5a8bcf0e853b65a8f37090edc" title="Un-subscribe from the audio device.">playerc_audio_unsubscribe</a>(<a class="code" href="structplayerc__audio__t.html" title="Audio device data.">playerc_audio_t</a> *device);
<a name="l01115"></a>01115 
<a name="l01117"></a>01117 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__audio.html#gaa85f9396e0a1366fca7e2ae1e15a8689" title="Command to play an audio block.">playerc_audio_wav_play_cmd</a>(<a class="code" href="structplayerc__audio__t.html" title="Audio device data.">playerc_audio_t</a> *device, uint32_t data_count, uint8_t data[], uint32_t format);
<a name="l01118"></a>01118 
<a name="l01120"></a>01120 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__audio.html#gaa817729aa6a61352922696ac633ab63f" title="Command to set recording state.">playerc_audio_wav_stream_rec_cmd</a>(<a class="code" href="structplayerc__audio__t.html" title="Audio device data.">playerc_audio_t</a> *device, uint8_t state);
<a name="l01121"></a>01121 
<a name="l01123"></a>01123 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__audio.html#gac24d060330dde0f073b6785388df4710" title="Command to play prestored sample.">playerc_audio_sample_play_cmd</a>(<a class="code" href="structplayerc__audio__t.html" title="Audio device data.">playerc_audio_t</a> *device, <span class="keywordtype">int</span> index);
<a name="l01124"></a>01124 
<a name="l01126"></a>01126 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__audio.html#gad75d21337136c5944b006c7f88d8f5d5" title="Command to play sequence of tones.">playerc_audio_seq_play_cmd</a>(<a class="code" href="structplayerc__audio__t.html" title="Audio device data.">playerc_audio_t</a> *device, <a class="code" href="structplayer__audio__seq.html" title="Player audio sequence.">player_audio_seq_t</a> * tones);
<a name="l01127"></a>01127 
<a name="l01129"></a>01129 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__audio.html#ga24273fac625b05c2d78e6226433692b3" title="Command to set mixer levels for multiple channels.">playerc_audio_mixer_multchannels_cmd</a>(<a class="code" href="structplayerc__audio__t.html" title="Audio device data.">playerc_audio_t</a> *device, <a class="code" href="structplayer__audio__mixer__channel__list.html" title="Player mixer channels.">player_audio_mixer_channel_list_t</a> * levels);
<a name="l01130"></a>01130 
<a name="l01132"></a>01132 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__audio.html#gab850a5449a9f2a1046c18492309a56e4" title="Command to set mixer levels for a single channel.">playerc_audio_mixer_channel_cmd</a>(<a class="code" href="structplayerc__audio__t.html" title="Audio device data.">playerc_audio_t</a> *device, uint32_t index, <span class="keywordtype">float</span> amplitude, uint8_t active);
<a name="l01133"></a>01133 
<a name="l01136"></a>01136 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__audio.html#ga49c73811f9b4e9d83a5b83ea84e7f87c" title="Request to record a single audio block Value is returned into wav_data, block length is determined by...">playerc_audio_wav_rec</a>(<a class="code" href="structplayerc__audio__t.html" title="Audio device data.">playerc_audio_t</a> *device);
<a name="l01137"></a>01137 
<a name="l01139"></a>01139 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__audio.html#gae7949c4c436f02a5a10b2c541455c37f" title="Request to load an audio sample.">playerc_audio_sample_load</a>(<a class="code" href="structplayerc__audio__t.html" title="Audio device data.">playerc_audio_t</a> *device, <span class="keywordtype">int</span> index, uint32_t data_count, uint8_t data[], uint32_t format);
<a name="l01140"></a>01140 
<a name="l01143"></a>01143 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__audio.html#ga70adc59a59eed0e6ff104ccb17a9bf19" title="Request to retrieve an audio sample Data is stored in wav_data.">playerc_audio_sample_retrieve</a>(<a class="code" href="structplayerc__audio__t.html" title="Audio device data.">playerc_audio_t</a> *device, <span class="keywordtype">int</span> index);
<a name="l01144"></a>01144 
<a name="l01146"></a>01146 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__audio.html#gaf47adae53f5824a45c0056ff581e3c09" title="Request to record new sample.">playerc_audio_sample_rec</a>(<a class="code" href="structplayerc__audio__t.html" title="Audio device data.">playerc_audio_t</a> *device, <span class="keywordtype">int</span> index, uint32_t length);
<a name="l01147"></a>01147 
<a name="l01150"></a>01150 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__audio.html#gac1b8c2a536a80c8cd37f8c94b241ac34" title="Request mixer channel data result is stored in mixer_data.">playerc_audio_get_mixer_levels</a>(<a class="code" href="structplayerc__audio__t.html" title="Audio device data.">playerc_audio_t</a> *device);
<a name="l01151"></a>01151 
<a name="l01154"></a>01154 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__audio.html#ga7aab4bc1ebe48bed4eac178382fc1165" title="Request mixer channel details list result is stored in channel_details_list.">playerc_audio_get_mixer_details</a>(<a class="code" href="structplayerc__audio__t.html" title="Audio device data.">playerc_audio_t</a> *device);
<a name="l01155"></a>01155 
<a name="l01157"></a>01157 <span class="comment">/**************************************************************************/</span>
<a name="l01158"></a>01158 
<a name="l01168"></a>01168 <span class="preprocessor">#define PLAYERC_BLACKBOARD_DATA_TYPE_NONE       0</span>
<a name="l01169"></a>01169 <span class="preprocessor"></span><span class="preprocessor">#define PLAYERC_BLACKBOARD_DATA_TYPE_SIMPLE     1</span>
<a name="l01170"></a>01170 <span class="preprocessor"></span><span class="preprocessor">#define PLAYERC_BLACKBOARD_DATA_TYPE_COMPLEX    2</span>
<a name="l01171"></a>01171 <span class="preprocessor"></span>
<a name="l01172"></a>01172 <span class="preprocessor">#define PLAYERC_BLACKBOARD_DATA_SUBTYPE_NONE    0</span>
<a name="l01173"></a>01173 <span class="preprocessor"></span><span class="preprocessor">#define PLAYERC_BLACKBOARD_DATA_SUBTYPE_STRING  1</span>
<a name="l01174"></a>01174 <span class="preprocessor"></span><span class="preprocessor">#define PLAYERC_BLACKBOARD_DATA_SUBTYPE_INT     2</span>
<a name="l01175"></a>01175 <span class="preprocessor"></span><span class="preprocessor">#define PLAYERC_BLACKBOARD_DATA_SUBTYPE_DOUBLE  3</span>
<a name="l01176"></a>01176 <span class="preprocessor"></span>
<a name="l01178"></a><a class="code" href="structplayerc__blackboard.html">01178</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structplayerc__blackboard.html" title="BlackBoard proxy.">playerc_blackboard</a>
<a name="l01179"></a>01179 {
<a name="l01181"></a><a class="code" href="structplayerc__blackboard.html#a0650d623b924c80a5f89b1366e3301c9">01181</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> <a class="code" href="structplayerc__blackboard.html#a0650d623b924c80a5f89b1366e3301c9" title="Device info; must be at the start of all device structures.">info</a>;
<a name="l01183"></a><a class="code" href="structplayerc__blackboard.html#a3850780746e262ac00a9833a570cc797">01183</a>   void (*<a class="code" href="structplayerc__blackboard.html#a3850780746e262ac00a9833a570cc797" title="Function to be called when a key is updated.">on_blackboard_event</a>)(<span class="keyword">struct </span><a class="code" href="structplayerc__blackboard.html" title="BlackBoard proxy.">playerc_blackboard</a>*, <a class="code" href="structplayer__blackboard__entry.html" title="Vectormap feature data.">player_blackboard_entry_t</a>);
<a name="l01185"></a><a class="code" href="structplayerc__blackboard.html#a98e2a54f59e7466969eb6c347eb90f3e">01185</a>   <span class="keywordtype">void</span> *<a class="code" href="structplayerc__blackboard.html#a98e2a54f59e7466969eb6c347eb90f3e" title="Kludge to get around python callback issues.">py_private</a>;
<a name="l01186"></a>01186 } <a class="code" href="structplayerc__blackboard.html" title="BlackBoard proxy.">playerc_blackboard_t</a>;
<a name="l01187"></a>01187 
<a name="l01189"></a>01189 PLAYERC_EXPORT <a class="code" href="structplayerc__blackboard.html" title="BlackBoard proxy.">playerc_blackboard_t</a> *<a class="code" href="group__playerc__proxy__blackboard.html#ga7d120d0e0f80ed566ea39e0120671362" title="Create a blackboard proxy.">playerc_blackboard_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l01190"></a>01190 
<a name="l01192"></a>01192 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__blackboard.html#gac192740ed8e9f030278e8a4682a7a02b" title="Destroy a blackboard proxy.">playerc_blackboard_destroy</a>(<a class="code" href="structplayerc__blackboard.html" title="BlackBoard proxy.">playerc_blackboard_t</a> *device);
<a name="l01193"></a>01193 
<a name="l01195"></a>01195 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__blackboard.html#ga0ba6bc342a679fef94a2f8ff97b41dc9" title="Subscribe to the blackboard device.">playerc_blackboard_subscribe</a>(<a class="code" href="structplayerc__blackboard.html" title="BlackBoard proxy.">playerc_blackboard_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l01196"></a>01196 
<a name="l01198"></a>01198 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__blackboard.html#ga128d1a3f27290e3a092aa7f0902e4046" title="Un-subscribe from the blackboard device.">playerc_blackboard_unsubscribe</a>(<a class="code" href="structplayerc__blackboard.html" title="BlackBoard proxy.">playerc_blackboard_t</a> *device);
<a name="l01199"></a>01199 
<a name="l01202"></a>01202 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__blackboard.html#gaac968f7f0c1320f282fe27da0c5eb22e" title="Subscribe to a key.">playerc_blackboard_subscribe_to_key</a>(<a class="code" href="structplayerc__blackboard.html" title="BlackBoard proxy.">playerc_blackboard_t</a> *device, <span class="keyword">const</span> <span class="keywordtype">char</span>* key, <span class="keyword">const</span> <span class="keywordtype">char</span>* group, <a class="code" href="structplayer__blackboard__entry.html" title="Vectormap feature data.">player_blackboard_entry_t</a>** entry);
<a name="l01203"></a>01203 
<a name="l01206"></a>01206 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__blackboard.html#gaa50d705722352cf3a87b237884ba019a" title="Get the current value of a key, without subscribing.">playerc_blackboard_get_entry</a>(<a class="code" href="structplayerc__blackboard.html" title="BlackBoard proxy.">playerc_blackboard_t</a> *device, <span class="keyword">const</span> <span class="keywordtype">char</span>* key, <span class="keyword">const</span> <span class="keywordtype">char</span>* group, <a class="code" href="structplayer__blackboard__entry.html" title="Vectormap feature data.">player_blackboard_entry_t</a>** entry);
<a name="l01207"></a>01207 
<a name="l01209"></a>01209 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__blackboard.html#ga92a3b49b100d81c00d14b431ca7e70f3" title="Unsubscribe from a key.">playerc_blackboard_unsubscribe_from_key</a>(<a class="code" href="structplayerc__blackboard.html" title="BlackBoard proxy.">playerc_blackboard_t</a> *device, <span class="keyword">const</span> <span class="keywordtype">char</span>* key, <span class="keyword">const</span> <span class="keywordtype">char</span>* group);
<a name="l01210"></a>01210 
<a name="l01212"></a>01212 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__blackboard.html#ga8f99c49a2b885478997cfb0a9a602fee" title="Subscribe to a group.">playerc_blackboard_subscribe_to_group</a>(<a class="code" href="structplayerc__blackboard.html" title="BlackBoard proxy.">playerc_blackboard_t</a> *device, <span class="keyword">const</span> <span class="keywordtype">char</span>* group);
<a name="l01213"></a>01213 
<a name="l01215"></a>01215 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__blackboard.html#gabbdc6dfb5135933a16cee559181d457b" title="Unsubscribe from a group.">playerc_blackboard_unsubscribe_from_group</a>(<a class="code" href="structplayerc__blackboard.html" title="BlackBoard proxy.">playerc_blackboard_t</a> *device, <span class="keyword">const</span> <span class="keywordtype">char</span>* group);
<a name="l01216"></a>01216 
<a name="l01218"></a>01218 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__blackboard.html#gadfa21ec1692e694e520b0bfdf77fdd1d" title="Set an entry value.">playerc_blackboard_set_entry</a>(<a class="code" href="structplayerc__blackboard.html" title="BlackBoard proxy.">playerc_blackboard_t</a> *device, <a class="code" href="structplayer__blackboard__entry.html" title="Vectormap feature data.">player_blackboard_entry_t</a>* entry);
<a name="l01219"></a>01219 
<a name="l01220"></a>01220 PLAYERC_EXPORT <span class="keywordtype">int</span> playerc_blackboard_set_string(<a class="code" href="structplayerc__blackboard.html" title="BlackBoard proxy.">playerc_blackboard_t</a> *device, <span class="keyword">const</span> <span class="keywordtype">char</span>* key, <span class="keyword">const</span> <span class="keywordtype">char</span>* group, <span class="keyword">const</span> <span class="keywordtype">char</span>* value);
<a name="l01221"></a>01221 
<a name="l01222"></a>01222 PLAYERC_EXPORT <span class="keywordtype">int</span> playerc_blackboard_set_int(<a class="code" href="structplayerc__blackboard.html" title="BlackBoard proxy.">playerc_blackboard_t</a> *device, <span class="keyword">const</span> <span class="keywordtype">char</span>* key, <span class="keyword">const</span> <span class="keywordtype">char</span>* group, <span class="keyword">const</span> <span class="keywordtype">int</span> value);
<a name="l01223"></a>01223 
<a name="l01224"></a>01224 PLAYERC_EXPORT <span class="keywordtype">int</span> playerc_blackboard_set_double(<a class="code" href="structplayerc__blackboard.html" title="BlackBoard proxy.">playerc_blackboard_t</a> *device, <span class="keyword">const</span> <span class="keywordtype">char</span>* key, <span class="keyword">const</span> <span class="keywordtype">char</span>* group, <span class="keyword">const</span> <span class="keywordtype">double</span> value);
<a name="l01225"></a>01225 
<a name="l01228"></a>01228 <span class="comment">/**************************************************************************/</span>
<a name="l01239"></a><a class="code" href="structplayerc__blinkenlight__t.html">01239</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01240"></a>01240 {
<a name="l01242"></a><a class="code" href="structplayerc__blinkenlight__t.html#aafc5c6d47fd61384ced61f04e87dfe95">01242</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> <a class="code" href="structplayerc__blackboard.html#a0650d623b924c80a5f89b1366e3301c9" title="Device info; must be at the start of all device structures.">info</a>;
<a name="l01243"></a>01243 
<a name="l01244"></a>01244   uint32_t enabled;
<a name="l01245"></a>01245   <span class="keywordtype">double</span> duty_cycle;
<a name="l01246"></a>01246   <span class="keywordtype">double</span> period;
<a name="l01247"></a>01247   uint8_t red, green, blue;
<a name="l01248"></a>01248 } <a class="code" href="structplayerc__blinkenlight__t.html" title="Blinklight proxy data.">playerc_blinkenlight_t</a>;
<a name="l01249"></a>01249 
<a name="l01250"></a>01250 
<a name="l01252"></a>01252 PLAYERC_EXPORT <a class="code" href="structplayerc__blinkenlight__t.html" title="Blinklight proxy data.">playerc_blinkenlight_t</a> *<a class="code" href="group__playerc__proxy__blinkenlight.html#ga44cc86d3b57bd929e9e3b278b8d30ef7" title="Create a blinkenlight proxy.">playerc_blinkenlight_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l01253"></a>01253 
<a name="l01255"></a>01255 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__blinkenlight.html#ga8b345154547737f26bb4d9d80a699b74" title="Destroy a blinkenlight proxy.">playerc_blinkenlight_destroy</a>(<a class="code" href="structplayerc__blinkenlight__t.html" title="Blinklight proxy data.">playerc_blinkenlight_t</a> *device);
<a name="l01256"></a>01256 
<a name="l01258"></a>01258 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__blinkenlight.html#ga26e21baedd7774a2d89a52dfd401a8e4" title="Subscribe to the blinkenlight device.">playerc_blinkenlight_subscribe</a>(<a class="code" href="structplayerc__blinkenlight__t.html" title="Blinklight proxy data.">playerc_blinkenlight_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l01259"></a>01259 
<a name="l01261"></a>01261 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__blinkenlight.html#ga5bd8c3b4782a664a06c546ade0170abe" title="Un-subscribe from the blinkenlight device.">playerc_blinkenlight_unsubscribe</a>(<a class="code" href="structplayerc__blinkenlight__t.html" title="Blinklight proxy data.">playerc_blinkenlight_t</a> *device);
<a name="l01262"></a>01262 
<a name="l01264"></a>01264 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__blinkenlight.html#ga64391dafd7f5612870790df14c0a36f2" title="Enable/disable power to the blinkenlight device.">playerc_blinkenlight_enable</a>( <a class="code" href="structplayerc__blinkenlight__t.html" title="Blinklight proxy data.">playerc_blinkenlight_t</a> *device,
<a name="l01265"></a>01265                                  uint32_t enable );
<a name="l01266"></a>01266 
<a name="l01268"></a>01268 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__blinkenlight.html#ga569c51a85764d837db75ccc206e9c46f" title="Set the output color for the blinkenlight device.">playerc_blinkenlight_color</a>( <a class="code" href="structplayerc__blinkenlight__t.html" title="Blinklight proxy data.">playerc_blinkenlight_t</a> *device,
<a name="l01269"></a>01269                                 uint32_t <span class="keywordtype">id</span>,
<a name="l01270"></a>01270                                 uint8_t red,
<a name="l01271"></a>01271                                 uint8_t green,
<a name="l01272"></a>01272                                 uint8_t blue );
<a name="l01275"></a>01275 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__blinkenlight.html#ga80bce0b5816436cf0476eb2455b69fe0" title="Make the light blink, setting the period in seconds and the mark/space ratiom (0.0 to 1...">playerc_blinkenlight_blink</a>( <a class="code" href="structplayerc__blinkenlight__t.html" title="Blinklight proxy data.">playerc_blinkenlight_t</a> *device,
<a name="l01276"></a>01276                                 uint32_t <span class="keywordtype">id</span>,
<a name="l01277"></a>01277                                 <span class="keywordtype">float</span> period,
<a name="l01278"></a>01278                                 <span class="keywordtype">float</span> duty_cycle );
<a name="l01281"></a>01281 <span class="comment">/***************************************************************************/</span>
<a name="l01292"></a>01292 <span class="keyword">typedef</span> <a class="code" href="structplayer__blobfinder__blob.html" title="Structure describing a single blob.">player_blobfinder_blob_t</a> <a class="code" href="structplayer__blobfinder__blob.html" title="Structure describing a single blob.">playerc_blobfinder_blob_t</a>;
<a name="l01293"></a>01293 
<a name="l01295"></a><a class="code" href="structplayerc__blobfinder__t.html">01295</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01296"></a>01296 {
<a name="l01298"></a><a class="code" href="structplayerc__blobfinder__t.html#ac41cfe87feca1d8a997c953cc8d98095">01298</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> <a class="code" href="structplayerc__blackboard.html#a0650d623b924c80a5f89b1366e3301c9" title="Device info; must be at the start of all device structures.">info</a>;
<a name="l01299"></a>01299 
<a name="l01301"></a><a class="code" href="structplayerc__blobfinder__t.html#a49f39a3e398a42df917d273294e4c79a">01301</a>   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> width, height;
<a name="l01302"></a>01302 
<a name="l01304"></a><a class="code" href="structplayerc__blobfinder__t.html#a0736cae460d5b0f9330057d5b88de532">01304</a>   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> blobs_count;
<a name="l01305"></a>01305   playerc_blobfinder_blob_t *blobs;
<a name="l01306"></a>01306 
<a name="l01307"></a>01307 } <a class="code" href="structplayerc__blobfinder__t.html" title="Blobfinder device data.">playerc_blobfinder_t</a>;
<a name="l01308"></a>01308 
<a name="l01309"></a>01309 
<a name="l01311"></a>01311 PLAYERC_EXPORT <a class="code" href="structplayerc__blobfinder__t.html" title="Blobfinder device data.">playerc_blobfinder_t</a> *<a class="code" href="group__playerc__proxy__blobfinder.html#ga780f32a2f9f6bde8fab5645eaab4cc1f" title="Create a blobfinder proxy.">playerc_blobfinder_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l01312"></a>01312 
<a name="l01314"></a>01314 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__blobfinder.html#gac964c009f647dfaa2c63ab94163bdb6c" title="Destroy a blobfinder proxy.">playerc_blobfinder_destroy</a>(<a class="code" href="structplayerc__blobfinder__t.html" title="Blobfinder device data.">playerc_blobfinder_t</a> *device);
<a name="l01315"></a>01315 
<a name="l01317"></a>01317 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__blobfinder.html#ga89d4c6c0e16d7911bd410f8dee7a4ce9" title="Subscribe to the blobfinder device.">playerc_blobfinder_subscribe</a>(<a class="code" href="structplayerc__blobfinder__t.html" title="Blobfinder device data.">playerc_blobfinder_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l01318"></a>01318 
<a name="l01320"></a>01320 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__blobfinder.html#ga21bcef63d3823af22cd4d38ee6327c50" title="Un-subscribe from the blobfinder device.">playerc_blobfinder_unsubscribe</a>(<a class="code" href="structplayerc__blobfinder__t.html" title="Blobfinder device data.">playerc_blobfinder_t</a> *device);
<a name="l01321"></a>01321 
<a name="l01322"></a>01322 
<a name="l01324"></a>01324 <span class="comment">/**************************************************************************/</span>
<a name="l01325"></a>01325 
<a name="l01326"></a>01326 
<a name="l01327"></a>01327 <span class="comment">/**************************************************************************/</span>
<a name="l01338"></a><a class="code" href="structplayerc__bumper__t.html">01338</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01339"></a>01339 {
<a name="l01341"></a><a class="code" href="structplayerc__bumper__t.html#adbcaee598e8e85faf8039ddde65e1815">01341</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> <a class="code" href="structplayerc__blackboard.html#a0650d623b924c80a5f89b1366e3301c9" title="Device info; must be at the start of all device structures.">info</a>;
<a name="l01342"></a>01342 
<a name="l01344"></a><a class="code" href="structplayerc__bumper__t.html#ad2b122e093d1e8f32edbe5ccfd3aac39">01344</a>   <span class="keywordtype">int</span> pose_count;
<a name="l01345"></a>01345 
<a name="l01349"></a><a class="code" href="structplayerc__bumper__t.html#ae534cb8c8140ede09a34336eeac804dd">01349</a>   <a class="code" href="structplayer__bumper__define.html" title="The geometry of a single bumper.">player_bumper_define_t</a> *poses;
<a name="l01350"></a>01350 
<a name="l01352"></a><a class="code" href="structplayerc__bumper__t.html#a71c4fb21e328be4b7050065850f50843">01352</a>   <span class="keywordtype">int</span> bumper_count;
<a name="l01353"></a>01353 
<a name="l01355"></a><a class="code" href="structplayerc__bumper__t.html#a1b0fcdb2a3966f997c3435dc6de9ff79">01355</a>   uint8_t *bumpers;
<a name="l01356"></a>01356 
<a name="l01357"></a>01357 } <a class="code" href="structplayerc__bumper__t.html" title="Bumper proxy data.">playerc_bumper_t</a>;
<a name="l01358"></a>01358 
<a name="l01359"></a>01359 
<a name="l01361"></a>01361 PLAYERC_EXPORT <a class="code" href="structplayerc__bumper__t.html" title="Bumper proxy data.">playerc_bumper_t</a> *<a class="code" href="group__playerc__proxy__bumper.html#ga7c618d1afe0d2abc059288d278ea56cb" title="Create a bumper proxy.">playerc_bumper_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l01362"></a>01362 
<a name="l01364"></a>01364 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__bumper.html#ga9451ff99d9d41ef309a2f18e6efca898" title="Destroy a bumper proxy.">playerc_bumper_destroy</a>(<a class="code" href="structplayerc__bumper__t.html" title="Bumper proxy data.">playerc_bumper_t</a> *device);
<a name="l01365"></a>01365 
<a name="l01367"></a>01367 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__bumper.html#ga926c58454733b68c4760c84c38304ba6" title="Subscribe to the bumper device.">playerc_bumper_subscribe</a>(<a class="code" href="structplayerc__bumper__t.html" title="Bumper proxy data.">playerc_bumper_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l01368"></a>01368 
<a name="l01370"></a>01370 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__bumper.html#gaa6c66e6ba698aef8c54e1c799139e0d1" title="Un-subscribe from the bumper device.">playerc_bumper_unsubscribe</a>(<a class="code" href="structplayerc__bumper__t.html" title="Bumper proxy data.">playerc_bumper_t</a> *device);
<a name="l01371"></a>01371 
<a name="l01378"></a>01378 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__bumper.html#ga7d9651562f8e42dff35f000417ccc42b" title="Get the bumper geometry.">playerc_bumper_get_geom</a>(<a class="code" href="structplayerc__bumper__t.html" title="Bumper proxy data.">playerc_bumper_t</a> *device);
<a name="l01379"></a>01379 
<a name="l01380"></a>01380 
<a name="l01382"></a>01382 <span class="comment">/***************************************************************************/</span>
<a name="l01383"></a>01383 
<a name="l01384"></a>01384 
<a name="l01385"></a>01385 <span class="comment">/***************************************************************************/</span>
<a name="l01395"></a><a class="code" href="structplayerc__camera__t.html">01395</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01396"></a>01396 {
<a name="l01398"></a><a class="code" href="structplayerc__camera__t.html#a4546cc272e73bf6d4346337680da6d1d">01398</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> <a class="code" href="structplayerc__blackboard.html#a0650d623b924c80a5f89b1366e3301c9" title="Device info; must be at the start of all device structures.">info</a>;
<a name="l01399"></a>01399 
<a name="l01401"></a><a class="code" href="structplayerc__camera__t.html#a84f262f479e265a612008e76c3681cf1">01401</a>   <span class="keywordtype">int</span> width, height;
<a name="l01402"></a>01402 
<a name="l01404"></a><a class="code" href="structplayerc__camera__t.html#a405a4beedc6a942de44687d567092cc7">01404</a>   <span class="keywordtype">int</span> bpp;
<a name="l01405"></a>01405 
<a name="l01407"></a><a class="code" href="structplayerc__camera__t.html#a9670834ec31cf14686ce070abde7ec5e">01407</a>   <span class="keywordtype">int</span> format;
<a name="l01408"></a>01408 
<a name="l01412"></a><a class="code" href="structplayerc__camera__t.html#a56b09d3a9acc9302652aed3573b9a927">01412</a>   <span class="keywordtype">int</span> fdiv;
<a name="l01413"></a>01413 
<a name="l01415"></a><a class="code" href="structplayerc__camera__t.html#acbdf36a34a57a4367ff5a97c72615a22">01415</a>   <span class="keywordtype">int</span> compression;
<a name="l01416"></a>01416 
<a name="l01418"></a><a class="code" href="structplayerc__camera__t.html#a1269e3f889670ab7fb8bcb65c1a41dd5">01418</a>   <span class="keywordtype">int</span> image_count;
<a name="l01419"></a>01419 
<a name="l01424"></a><a class="code" href="structplayerc__camera__t.html#a357c76f6bf0ae692d9d1cbb8264f4aca">01424</a>   uint8_t *<a class="code" href="structimage.html">image</a>;
<a name="l01425"></a>01425 
<a name="l01426"></a>01426 } <a class="code" href="structplayerc__camera__t.html" title="Camera proxy data.">playerc_camera_t</a>;
<a name="l01427"></a>01427 
<a name="l01428"></a>01428 
<a name="l01430"></a>01430 PLAYERC_EXPORT <a class="code" href="structplayerc__camera__t.html" title="Camera proxy data.">playerc_camera_t</a> *<a class="code" href="group__playerc__proxy__camera.html#ga3981a0ae1a471b7c29f1aada593cc4dd" title="Create a camera proxy.">playerc_camera_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l01431"></a>01431 
<a name="l01433"></a>01433 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__camera.html#gad82d65cdcb2166b072d8c50fcda71e27" title="Destroy a camera proxy.">playerc_camera_destroy</a>(<a class="code" href="structplayerc__camera__t.html" title="Camera proxy data.">playerc_camera_t</a> *device);
<a name="l01434"></a>01434 
<a name="l01436"></a>01436 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__camera.html#gaa1a9fe8647f270a767a7ec8f1265b949" title="Subscribe to the camera device.">playerc_camera_subscribe</a>(<a class="code" href="structplayerc__camera__t.html" title="Camera proxy data.">playerc_camera_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l01437"></a>01437 
<a name="l01439"></a>01439 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__camera.html#ga9bf674ecb5cbed1b16c80c7f5bdd6392" title="Un-subscribe from the camera device.">playerc_camera_unsubscribe</a>(<a class="code" href="structplayerc__camera__t.html" title="Camera proxy data.">playerc_camera_t</a> *device);
<a name="l01440"></a>01440 
<a name="l01442"></a>01442 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__camera.html#ga2ee3d04f56e895ad6519ca7b1abe6a16" title="Decompress the image (modifies the current proxy data).">playerc_camera_decompress</a>(<a class="code" href="structplayerc__camera__t.html" title="Camera proxy data.">playerc_camera_t</a> *device);
<a name="l01443"></a>01443 
<a name="l01445"></a>01445 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__camera.html#ga736f8f5061d2186f3777cc8cf9d02775" title="Saves the image to disk as a .ppm.">playerc_camera_save</a>(<a class="code" href="structplayerc__camera__t.html" title="Camera proxy data.">playerc_camera_t</a> *device, <span class="keyword">const</span> <span class="keywordtype">char</span> *filename);
<a name="l01446"></a>01446 
<a name="l01448"></a>01448 <span class="comment">/**************************************************************************/</span>
<a name="l01449"></a>01449 
<a name="l01450"></a>01450 
<a name="l01451"></a>01451 <span class="comment">/**************************************************************************/</span>
<a name="l01461"></a><a class="code" href="structplayerc__dio__t.html">01461</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01462"></a>01462 {
<a name="l01464"></a><a class="code" href="structplayerc__dio__t.html#a58c876043cf6c85755a8f10e72e09a59">01464</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> <a class="code" href="structplayerc__blackboard.html#a0650d623b924c80a5f89b1366e3301c9" title="Device info; must be at the start of all device structures.">info</a>;
<a name="l01465"></a>01465 
<a name="l01466"></a>01466     <span class="comment">/*/ The number of valid digital inputs.*/</span>
<a name="l01467"></a>01467     uint8_t count;
<a name="l01468"></a>01468 
<a name="l01469"></a>01469     <span class="comment">/*/ A bitfield of the current digital inputs.*/</span>
<a name="l01470"></a>01470     uint32_t digin;
<a name="l01471"></a>01471 
<a name="l01472"></a>01472 } <a class="code" href="structplayerc__dio__t.html" title="Dio proxy data.">playerc_dio_t</a>;
<a name="l01473"></a>01473 
<a name="l01474"></a>01474 
<a name="l01476"></a>01476 PLAYERC_EXPORT <a class="code" href="structplayerc__dio__t.html" title="Dio proxy data.">playerc_dio_t</a> *<a class="code" href="group__playerc__proxy__dio.html#ga47edadb92c27cbffe7cbd64687150613" title="Create a dio proxy.">playerc_dio_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l01477"></a>01477 
<a name="l01479"></a>01479 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__dio.html#ga90663eedfee29fbdfd9e091c6d9d8605" title="Destroy a dio proxy.">playerc_dio_destroy</a>(<a class="code" href="structplayerc__dio__t.html" title="Dio proxy data.">playerc_dio_t</a> *device);
<a name="l01480"></a>01480 
<a name="l01482"></a>01482 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__dio.html#gaa8f158af65f0dbfe609d0bc174716528" title="Subscribe to the dio device.">playerc_dio_subscribe</a>(<a class="code" href="structplayerc__dio__t.html" title="Dio proxy data.">playerc_dio_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l01483"></a>01483 
<a name="l01485"></a>01485 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__dio.html#ga1426876c3d3838fd8265a224c81125eb" title="Un-subscribe from the dio device.">playerc_dio_unsubscribe</a>(<a class="code" href="structplayerc__dio__t.html" title="Dio proxy data.">playerc_dio_t</a> *device);
<a name="l01486"></a>01486 
<a name="l01488"></a>01488 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__dio.html#ga2ca64047a615041b2ce7f037fcf37176" title="Set the output for the dio device.">playerc_dio_set_output</a>(<a class="code" href="structplayerc__dio__t.html" title="Dio proxy data.">playerc_dio_t</a> *device, uint8_t output_count, uint32_t digout);
<a name="l01489"></a>01489 
<a name="l01490"></a>01490 
<a name="l01492"></a>01492 <span class="comment">/***************************************************************************/</span>
<a name="l01493"></a>01493 
<a name="l01494"></a>01494 
<a name="l01495"></a>01495 <span class="comment">/***************************************************************************/</span>
<a name="l01510"></a><a class="code" href="structplayerc__fiducial__t.html">01510</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01511"></a>01511 {
<a name="l01513"></a><a class="code" href="structplayerc__fiducial__t.html#a1ffce9babf63af9a88795f0bac7b9573">01513</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> <a class="code" href="structplayerc__blackboard.html#a0650d623b924c80a5f89b1366e3301c9" title="Device info; must be at the start of all device structures.">info</a>;
<a name="l01514"></a>01514 
<a name="l01519"></a><a class="code" href="structplayerc__fiducial__t.html#a762ac88f7a9a62bd24b1705b6f3c7e55">01519</a>   <a class="code" href="structplayer__fiducial__geom.html" title="Request/reply: Get geometry.">player_fiducial_geom_t</a> fiducial_geom;
<a name="l01520"></a>01520 
<a name="l01522"></a><a class="code" href="structplayerc__fiducial__t.html#ab2eabbbf6e406b1753d9e5a4b2562fce">01522</a>   <span class="keywordtype">int</span> fiducials_count;
<a name="l01523"></a>01523   <a class="code" href="structplayer__fiducial__item.html" title="Info on a single detected fiducial.">player_fiducial_item_t</a> *fiducials;
<a name="l01524"></a>01524 
<a name="l01525"></a>01525 } <a class="code" href="structplayerc__fiducial__t.html" title="Fiducial finder data.">playerc_fiducial_t</a>;
<a name="l01526"></a>01526 
<a name="l01527"></a>01527 
<a name="l01529"></a>01529 PLAYERC_EXPORT <a class="code" href="structplayerc__fiducial__t.html" title="Fiducial finder data.">playerc_fiducial_t</a> *<a class="code" href="group__playerc__proxy__fiducial.html#gab17f81db64eae161b134335d47d9aa91" title="Create a fiducial proxy.">playerc_fiducial_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l01530"></a>01530 
<a name="l01532"></a>01532 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__fiducial.html#ga8abaff9ccd113db6f358ca319dfe53d7" title="Destroy a fiducial proxy.">playerc_fiducial_destroy</a>(<a class="code" href="structplayerc__fiducial__t.html" title="Fiducial finder data.">playerc_fiducial_t</a> *device);
<a name="l01533"></a>01533 
<a name="l01535"></a>01535 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__fiducial.html#ga5ee4128eb9e3997187dd2259a0fc4bab" title="Subscribe to the fiducial device.">playerc_fiducial_subscribe</a>(<a class="code" href="structplayerc__fiducial__t.html" title="Fiducial finder data.">playerc_fiducial_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l01536"></a>01536 
<a name="l01538"></a>01538 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__fiducial.html#gada3bdc5598a8ed8aca0c9028f35e0330" title="Un-subscribe from the fiducial device.">playerc_fiducial_unsubscribe</a>(<a class="code" href="structplayerc__fiducial__t.html" title="Fiducial finder data.">playerc_fiducial_t</a> *device);
<a name="l01539"></a>01539 
<a name="l01546"></a>01546 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__fiducial.html#ga3cbda70a50bc3dd7807b1da638339cfe" title="Get the fiducial geometry.">playerc_fiducial_get_geom</a>(<a class="code" href="structplayerc__fiducial__t.html" title="Fiducial finder data.">playerc_fiducial_t</a> *device);
<a name="l01547"></a>01547 
<a name="l01548"></a>01548 
<a name="l01550"></a>01550 <span class="comment">/**************************************************************************/</span>
<a name="l01551"></a>01551 
<a name="l01552"></a>01552 <span class="comment">/***************************************************************************/</span>
<a name="l01561"></a><a class="code" href="structplayerc__gps__t.html">01561</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01562"></a>01562 {
<a name="l01564"></a><a class="code" href="structplayerc__gps__t.html#a2ce199f67bd29ac13561e12d0fdf90a3">01564</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> <a class="code" href="structplayerc__blackboard.html#a0650d623b924c80a5f89b1366e3301c9" title="Device info; must be at the start of all device structures.">info</a>;
<a name="l01565"></a>01565 
<a name="l01567"></a><a class="code" href="structplayerc__gps__t.html#afa8e3b4242415f8781d38371efac0814">01567</a>   <span class="keywordtype">double</span> utc_time;
<a name="l01568"></a>01568 
<a name="l01572"></a><a class="code" href="structplayerc__gps__t.html#ad663b2a9e36297c09a3aa413ab10ce9a">01572</a>   <span class="keywordtype">double</span> lat, lon;
<a name="l01573"></a>01573 
<a name="l01576"></a><a class="code" href="structplayerc__gps__t.html#a811e7a5c7ab35e83cd3672d8d6343f51">01576</a>   <span class="keywordtype">double</span> alt;
<a name="l01577"></a>01577 
<a name="l01579"></a><a class="code" href="structplayerc__gps__t.html#aae820ea309da1ea1e3ac032a6bce35fe">01579</a>   <span class="keywordtype">double</span> utm_e, utm_n;
<a name="l01580"></a>01580 
<a name="l01582"></a><a class="code" href="structplayerc__gps__t.html#a1b21126346d9ea088fa185b9eb0c51b1">01582</a>   <span class="keywordtype">double</span> hdop;
<a name="l01583"></a>01583 
<a name="l01585"></a><a class="code" href="structplayerc__gps__t.html#ac7452ff691f6caf6c5be61fdabc82503">01585</a>   <span class="keywordtype">double</span> vdop;
<a name="l01586"></a>01586 
<a name="l01588"></a><a class="code" href="structplayerc__gps__t.html#a27f43d5b789ed59399474605045cc0fe">01588</a>   <span class="keywordtype">double</span> err_horz, err_vert;
<a name="l01589"></a>01589 
<a name="l01591"></a><a class="code" href="structplayerc__gps__t.html#af53532ca29ab282a2698d51cea8a606c">01591</a>   <span class="keywordtype">int</span> quality;
<a name="l01592"></a>01592 
<a name="l01594"></a><a class="code" href="structplayerc__gps__t.html#a54124af8cd53df7ee6395eb82c0d9274">01594</a>   <span class="keywordtype">int</span> sat_count;
<a name="l01595"></a>01595 
<a name="l01596"></a>01596 } <a class="code" href="structplayerc__gps__t.html" title="GPS proxy data.">playerc_gps_t</a>;
<a name="l01597"></a>01597 
<a name="l01598"></a>01598 
<a name="l01600"></a>01600 PLAYERC_EXPORT <a class="code" href="structplayerc__gps__t.html" title="GPS proxy data.">playerc_gps_t</a> *<a class="code" href="group__playerc__proxy__gps.html#gac877fc18fc2ae54b9ae7b5a43dcbdfdb" title="Create a gps proxy.">playerc_gps_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l01601"></a>01601 
<a name="l01603"></a>01603 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__gps.html#gac77332d75735cdf4ed4d4a3541a224c1" title="Destroy a gps proxy.">playerc_gps_destroy</a>(<a class="code" href="structplayerc__gps__t.html" title="GPS proxy data.">playerc_gps_t</a> *device);
<a name="l01604"></a>01604 
<a name="l01606"></a>01606 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__gps.html#ga8bcc500cc8d8110d83baeb906270156c" title="Subscribe to the gps device.">playerc_gps_subscribe</a>(<a class="code" href="structplayerc__gps__t.html" title="GPS proxy data.">playerc_gps_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l01607"></a>01607 
<a name="l01609"></a>01609 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__gps.html#ga695f611e4a6eacc4f969d01bd8ec6739" title="Un-subscribe from the gps device.">playerc_gps_unsubscribe</a>(<a class="code" href="structplayerc__gps__t.html" title="GPS proxy data.">playerc_gps_t</a> *device);
<a name="l01610"></a>01610 
<a name="l01611"></a>01611 
<a name="l01613"></a>01613 <span class="comment">/**************************************************************************/</span>
<a name="l01614"></a>01614 
<a name="l01615"></a>01615 <span class="comment">/***************************************************************************/</span>
<a name="l01625"></a><a class="code" href="structplayerc__graphics2d__t.html">01625</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01626"></a>01626 {
<a name="l01628"></a><a class="code" href="structplayerc__graphics2d__t.html#a207465485584fe399a1ef2e3b132ebdd">01628</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> <a class="code" href="structplayerc__blackboard.html#a0650d623b924c80a5f89b1366e3301c9" title="Device info; must be at the start of all device structures.">info</a>;
<a name="l01629"></a>01629 
<a name="l01631"></a><a class="code" href="structplayerc__graphics2d__t.html#a1e51bcacba8caefcd8181b7a456c5e13">01631</a>   <a class="code" href="structplayer__color.html" title="A color descriptor.">player_color_t</a> color;
<a name="l01632"></a>01632 
<a name="l01633"></a>01633 } <a class="code" href="structplayerc__graphics2d__t.html" title="Graphics2d device data.">playerc_graphics2d_t</a>;
<a name="l01634"></a>01634 
<a name="l01635"></a>01635 
<a name="l01637"></a>01637 PLAYERC_EXPORT <a class="code" href="structplayerc__graphics2d__t.html" title="Graphics2d device data.">playerc_graphics2d_t</a> *<a class="code" href="group__playerc__proxy__graphics2d.html#gafe6a71855c2e75ca63dad14a7d45613a" title="Create a graphics2d device proxy.">playerc_graphics2d_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l01638"></a>01638 
<a name="l01640"></a>01640 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__graphics2d.html#ga1be4f51b7e6ff0c74f02bc61cf68f39b" title="Destroy a graphics2d device proxy.">playerc_graphics2d_destroy</a>(<a class="code" href="structplayerc__graphics2d__t.html" title="Graphics2d device data.">playerc_graphics2d_t</a> *device);
<a name="l01641"></a>01641 
<a name="l01643"></a>01643 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__graphics2d.html#ga0ff6364e7530f39f8dbfa2171a0e29fc" title="Subscribe to the graphics2d device.">playerc_graphics2d_subscribe</a>(<a class="code" href="structplayerc__graphics2d__t.html" title="Graphics2d device data.">playerc_graphics2d_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l01644"></a>01644 
<a name="l01646"></a>01646 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__graphics2d.html#gad3943ff88b3081ca23356f6df0acf668" title="Un-subscribe from the graphics2d device.">playerc_graphics2d_unsubscribe</a>(<a class="code" href="structplayerc__graphics2d__t.html" title="Graphics2d device data.">playerc_graphics2d_t</a> *device);
<a name="l01647"></a>01647 
<a name="l01649"></a>01649 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__graphics2d.html#gac698d3261808de038f1e565f0dd6fad4" title="Set the current drawing color.">playerc_graphics2d_setcolor</a>(<a class="code" href="structplayerc__graphics2d__t.html" title="Graphics2d device data.">playerc_graphics2d_t</a> *device,
<a name="l01650"></a>01650                                 <a class="code" href="structplayer__color.html" title="A color descriptor.">player_color_t</a> col );
<a name="l01651"></a>01651 
<a name="l01653"></a>01653 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__graphics2d.html#ga07a99db9b170515398664d7feffdab3a" title="Draw some points.">playerc_graphics2d_draw_points</a>(<a class="code" href="structplayerc__graphics2d__t.html" title="Graphics2d device data.">playerc_graphics2d_t</a> *device,
<a name="l01654"></a>01654            <a class="code" href="structplayer__point__2d.html" title="A point in the plane.">player_point_2d_t</a> pts[],
<a name="l01655"></a>01655            <span class="keywordtype">int</span> count );
<a name="l01656"></a>01656 
<a name="l01658"></a>01658 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__graphics2d.html#gac4c9d376735b9c2584cc67d7a567da8f" title="Draw a polyline that connects an array of points.">playerc_graphics2d_draw_polyline</a>(<a class="code" href="structplayerc__graphics2d__t.html" title="Graphics2d device data.">playerc_graphics2d_t</a> *device,
<a name="l01659"></a>01659              <a class="code" href="structplayer__point__2d.html" title="A point in the plane.">player_point_2d_t</a> pts[],
<a name="l01660"></a>01660              <span class="keywordtype">int</span> count );
<a name="l01661"></a>01661 
<a name="l01663"></a>01663 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__graphics2d.html#gab791286da833c80a04381b2f3a05ef8e" title="Draw a polygon.">playerc_graphics2d_draw_polygon</a>(<a class="code" href="structplayerc__graphics2d__t.html" title="Graphics2d device data.">playerc_graphics2d_t</a> *device,
<a name="l01664"></a>01664             <a class="code" href="structplayer__point__2d.html" title="A point in the plane.">player_point_2d_t</a> pts[],
<a name="l01665"></a>01665             <span class="keywordtype">int</span> count,
<a name="l01666"></a>01666             <span class="keywordtype">int</span> filled,
<a name="l01667"></a>01667             <a class="code" href="structplayer__color.html" title="A color descriptor.">player_color_t</a> fill_color );
<a name="l01668"></a>01668 
<a name="l01670"></a>01670 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__graphics2d.html#ga595a12d926082dc6097b44667728908f" title="Clear the canvas.">playerc_graphics2d_clear</a>(<a class="code" href="structplayerc__graphics2d__t.html" title="Graphics2d device data.">playerc_graphics2d_t</a> *device );
<a name="l01671"></a>01671 
<a name="l01672"></a>01672 
<a name="l01675"></a>01675 <span class="comment">/***************************************************************************/</span>
<a name="l01685"></a><a class="code" href="structplayerc__graphics3d__t.html">01685</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01686"></a>01686 {
<a name="l01688"></a><a class="code" href="structplayerc__graphics3d__t.html#a169d44ce2c93420bb15b367328bf1a37">01688</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> <a class="code" href="structplayerc__blackboard.html#a0650d623b924c80a5f89b1366e3301c9" title="Device info; must be at the start of all device structures.">info</a>;
<a name="l01689"></a>01689 
<a name="l01691"></a><a class="code" href="structplayerc__graphics3d__t.html#a7e1e40ebaf08d9fc5a0c063c57962a87">01691</a>   <a class="code" href="structplayer__color.html" title="A color descriptor.">player_color_t</a> color;
<a name="l01692"></a>01692 
<a name="l01693"></a>01693 } <a class="code" href="structplayerc__graphics3d__t.html" title="Graphics3d device data.">playerc_graphics3d_t</a>;
<a name="l01694"></a>01694 
<a name="l01695"></a>01695 
<a name="l01697"></a>01697 PLAYERC_EXPORT <a class="code" href="structplayerc__graphics3d__t.html" title="Graphics3d device data.">playerc_graphics3d_t</a> *<a class="code" href="group__playerc__proxy__graphics3d.html#ga9e425eed3ee769ccae7f3fee5deea974" title="Create a graphics3d device proxy.">playerc_graphics3d_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l01698"></a>01698 
<a name="l01700"></a>01700 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__graphics3d.html#ga56b84c2e62ce46e71594e23fa2ce1c4c" title="Destroy a graphics3d device proxy.">playerc_graphics3d_destroy</a>(<a class="code" href="structplayerc__graphics3d__t.html" title="Graphics3d device data.">playerc_graphics3d_t</a> *device);
<a name="l01701"></a>01701 
<a name="l01703"></a>01703 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__graphics3d.html#gab11c82242e77fa6774f902d09ba532ac" title="Subscribe to the graphics3d device.">playerc_graphics3d_subscribe</a>(<a class="code" href="structplayerc__graphics3d__t.html" title="Graphics3d device data.">playerc_graphics3d_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l01704"></a>01704 
<a name="l01706"></a>01706 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__graphics3d.html#ga7d88289bef2529675b96b2eba042b1ce" title="Un-subscribe from the graphics3d device.">playerc_graphics3d_unsubscribe</a>(<a class="code" href="structplayerc__graphics3d__t.html" title="Graphics3d device data.">playerc_graphics3d_t</a> *device);
<a name="l01707"></a>01707 
<a name="l01709"></a>01709 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__graphics3d.html#ga59c5e1ab2ef26a78691e190186eec823" title="Set the current drawing color.">playerc_graphics3d_setcolor</a>(<a class="code" href="structplayerc__graphics3d__t.html" title="Graphics3d device data.">playerc_graphics3d_t</a> *device,
<a name="l01710"></a>01710                                 <a class="code" href="structplayer__color.html" title="A color descriptor.">player_color_t</a> col );
<a name="l01711"></a>01711 
<a name="l01713"></a>01713 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__graphics3d.html#ga7edfd29b436a6f27e0840a9419675302" title="Draw some points in the given mode.">playerc_graphics3d_draw</a>(<a class="code" href="structplayerc__graphics3d__t.html" title="Graphics3d device data.">playerc_graphics3d_t</a> *device,
<a name="l01714"></a>01714            <a class="code" href="group__interface__graphics3d.html#ga7bb9ca841ac76c9f883ed76c55b12aeb" title="Drawmode: enumeration that defines the drawing mode.">player_graphics3d_draw_mode_t</a> mode,
<a name="l01715"></a>01715            <a class="code" href="structplayer__point__3d.html" title="A point in 3D space.">player_point_3d_t</a> pts[],
<a name="l01716"></a>01716            <span class="keywordtype">int</span> count );
<a name="l01717"></a>01717 
<a name="l01719"></a>01719 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__graphics3d.html#ga970c6f4664f071239701b375e3a80334" title="Clear the canvas.">playerc_graphics3d_clear</a>(<a class="code" href="structplayerc__graphics3d__t.html" title="Graphics3d device data.">playerc_graphics3d_t</a> *device );
<a name="l01720"></a>01720 
<a name="l01722"></a>01722 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__graphics3d.html#gafb6cc5ef0cf63f1a951c88a7c7003964" title="Translate the drawing coordinate system in 3d.">playerc_graphics3d_translate</a>(<a class="code" href="structplayerc__graphics3d__t.html" title="Graphics3d device data.">playerc_graphics3d_t</a> *device,
<a name="l01723"></a>01723                                  <span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">double</span> z );
<a name="l01724"></a>01724 
<a name="l01725"></a>01725 
<a name="l01727"></a>01727 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__graphics3d.html#gaf3ccfc74dc3170294dd6646f7a06655c" title="Rotate the drawing coordinate system by [a] radians about the vector described by [x...">playerc_graphics3d_rotate</a>( <a class="code" href="structplayerc__graphics3d__t.html" title="Graphics3d device data.">playerc_graphics3d_t</a> *device,
<a name="l01728"></a>01728                                <span class="keywordtype">double</span> a, <span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">double</span> z );
<a name="l01731"></a>01731 <span class="comment">/***************************************************************************/</span>
<a name="l01741"></a><a class="code" href="structplayerc__gripper__t.html">01741</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01742"></a>01742 {
<a name="l01744"></a><a class="code" href="structplayerc__gripper__t.html#aae1636e7ca6c3cca5316e4a0c8d93fe8">01744</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> <a class="code" href="structplayerc__blackboard.html#a0650d623b924c80a5f89b1366e3301c9" title="Device info; must be at the start of all device structures.">info</a>;
<a name="l01745"></a>01745 
<a name="l01752"></a><a class="code" href="structplayerc__gripper__t.html#ab33e4925c58463a0882219b585da0427">01752</a>   <a class="code" href="structplayer__pose3d.html" title="A pose in space.">player_pose3d_t</a> pose;
<a name="l01753"></a>01753   <a class="code" href="structplayer__bbox3d.html" title="A rectangular bounding box, used to define the size of an object.">player_bbox3d_t</a> outer_size;
<a name="l01754"></a>01754   <a class="code" href="structplayer__bbox3d.html" title="A rectangular bounding box, used to define the size of an object.">player_bbox3d_t</a> inner_size;
<a name="l01756"></a><a class="code" href="structplayerc__gripper__t.html#aa44c77e29b374b9e10e3715c483799ad">01756</a>   uint8_t num_beams;
<a name="l01758"></a><a class="code" href="structplayerc__gripper__t.html#a3e7fb12329d7b1c0d0346450cf1df241">01758</a>   uint8_t capacity;
<a name="l01759"></a>01759 
<a name="l01763"></a><a class="code" href="structplayerc__gripper__t.html#af697317d4230b48b2ab73e0f1c03753c">01763</a>   uint8_t state;
<a name="l01765"></a><a class="code" href="structplayerc__gripper__t.html#af755d4d5a147b4063b1cd455cadb573e">01765</a>   uint32_t beams;
<a name="l01767"></a><a class="code" href="structplayerc__gripper__t.html#ac08e618af87de6b3f5156994e9646031">01767</a>   uint8_t stored;
<a name="l01768"></a>01768 } <a class="code" href="structplayerc__gripper__t.html" title="Gripper device data.">playerc_gripper_t</a>;
<a name="l01769"></a>01769 
<a name="l01771"></a>01771 PLAYERC_EXPORT <a class="code" href="structplayerc__gripper__t.html" title="Gripper device data.">playerc_gripper_t</a> *<a class="code" href="group__playerc__proxy__gripper.html#ga60215af3cc1a1c4a46f63ee5066436d4" title="Create a gripper device proxy.">playerc_gripper_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l01772"></a>01772 
<a name="l01774"></a>01774 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__gripper.html#ga12a42db896c0fbf1b6931aa7e09c2f73" title="Destroy a gripper device proxy.">playerc_gripper_destroy</a>(<a class="code" href="structplayerc__gripper__t.html" title="Gripper device data.">playerc_gripper_t</a> *device);
<a name="l01775"></a>01775 
<a name="l01777"></a>01777 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__gripper.html#ga231e0c39e1079ecbb4d9cf59bbf0d4f7" title="Subscribe to the gripper device.">playerc_gripper_subscribe</a>(<a class="code" href="structplayerc__gripper__t.html" title="Gripper device data.">playerc_gripper_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l01778"></a>01778 
<a name="l01780"></a>01780 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__gripper.html#ga17b898af5368597eef8c7a14d7feaf1a" title="Un-subscribe from the gripper device.">playerc_gripper_unsubscribe</a>(<a class="code" href="structplayerc__gripper__t.html" title="Gripper device data.">playerc_gripper_t</a> *device);
<a name="l01781"></a>01781 
<a name="l01783"></a>01783 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__gripper.html#gad1691ef5e2429ab5d5bb3818ee3f4130" title="Command the gripper to open.">playerc_gripper_open_cmd</a>(<a class="code" href="structplayerc__gripper__t.html" title="Gripper device data.">playerc_gripper_t</a> *device);
<a name="l01784"></a>01784 
<a name="l01786"></a>01786 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__gripper.html#gaef14a7cc2082c38b71764f276cab4eca" title="Command the gripper to close.">playerc_gripper_close_cmd</a>(<a class="code" href="structplayerc__gripper__t.html" title="Gripper device data.">playerc_gripper_t</a> *device);
<a name="l01787"></a>01787 
<a name="l01789"></a>01789 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__gripper.html#ga799729023ff711e5fa66ddec2655143f" title="Command the gripper to stop.">playerc_gripper_stop_cmd</a>(<a class="code" href="structplayerc__gripper__t.html" title="Gripper device data.">playerc_gripper_t</a> *device);
<a name="l01790"></a>01790 
<a name="l01792"></a>01792 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__gripper.html#ga36b4143bf0d8b800dfe9565e429f58d6" title="Command the gripper to store.">playerc_gripper_store_cmd</a>(<a class="code" href="structplayerc__gripper__t.html" title="Gripper device data.">playerc_gripper_t</a> *device);
<a name="l01793"></a>01793 
<a name="l01795"></a>01795 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__gripper.html#ga004d905386826c0c6870b5f7156e3934" title="Command the gripper to retrieve.">playerc_gripper_retrieve_cmd</a>(<a class="code" href="structplayerc__gripper__t.html" title="Gripper device data.">playerc_gripper_t</a> *device);
<a name="l01796"></a>01796 
<a name="l01799"></a>01799 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__gripper.html#ga886ecec272555a9fd063375fee1e7c6d" title="Print a human-readable version of the gripper state.">playerc_gripper_printout</a>(<a class="code" href="structplayerc__gripper__t.html" title="Gripper device data.">playerc_gripper_t</a> *device, <span class="keyword">const</span> <span class="keywordtype">char</span>* prefix);
<a name="l01800"></a>01800 
<a name="l01805"></a>01805 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__gripper.html#gafd5fb18a1c8c13053b30bf51ae4ec6d7" title="Get the gripper geometry.">playerc_gripper_get_geom</a>(<a class="code" href="structplayerc__gripper__t.html" title="Gripper device data.">playerc_gripper_t</a> *device);
<a name="l01806"></a>01806 
<a name="l01808"></a>01808 <span class="comment">/**************************************************************************/</span>
<a name="l01809"></a>01809 
<a name="l01810"></a>01810 <span class="comment">/***************************************************************************/</span>
<a name="l01824"></a><a class="code" href="structplayerc__health__t.html">01824</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01825"></a>01825 {
<a name="l01827"></a><a class="code" href="structplayerc__health__t.html#a66eecf44bab5786295404c9d9f6a4475">01827</a>     <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> <a class="code" href="structplayerc__blackboard.html#a0650d623b924c80a5f89b1366e3301c9" title="Device info; must be at the start of all device structures.">info</a>;
<a name="l01829"></a><a class="code" href="structplayerc__health__t.html#a6a6472dea44b2dcbe4d6de121fcf17d5">01829</a>     <a class="code" href="structplayer__health__cpu.html" title="Structure describing the cpu.">player_health_cpu_t</a> cpu_usage;
<a name="l01831"></a><a class="code" href="structplayerc__health__t.html#a338b6ac77bc5285c324a2925ab395b33">01831</a>     <a class="code" href="structplayer__health__memory.html" title="Structure describing the memory.">player_health_memory_t</a> mem;
<a name="l01833"></a><a class="code" href="structplayerc__health__t.html#ae15be9bbb1cb2a7f654f1478139a9a40">01833</a>     <a class="code" href="structplayer__health__memory.html" title="Structure describing the memory.">player_health_memory_t</a> swap;
<a name="l01834"></a>01834 } <a class="code" href="structplayerc__health__t.html" title="Note: the structure describing the HEALTH&amp;#39;s data packet is declared in Player.">playerc_health_t</a>;
<a name="l01835"></a>01835 
<a name="l01836"></a>01836 
<a name="l01838"></a>01838 PLAYERC_EXPORT <a class="code" href="structplayerc__health__t.html" title="Note: the structure describing the HEALTH&amp;#39;s data packet is declared in Player.">playerc_health_t</a> *<a class="code" href="group__playerc__proxy__health.html#ga37afe753eb932f529356da95c5bbecd6" title="Create a health proxy.">playerc_health_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l01839"></a>01839 
<a name="l01841"></a>01841 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__health.html#gaeae06e2b3786907a07673cb93c97bdd7" title="Destroy a health proxy.">playerc_health_destroy</a>(<a class="code" href="structplayerc__health__t.html" title="Note: the structure describing the HEALTH&amp;#39;s data packet is declared in Player.">playerc_health_t</a> *device);
<a name="l01842"></a>01842 
<a name="l01844"></a>01844 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__health.html#ga05e46568df952d00ab0f5a51a57006f3" title="Subscribe to the health device.">playerc_health_subscribe</a>(<a class="code" href="structplayerc__health__t.html" title="Note: the structure describing the HEALTH&amp;#39;s data packet is declared in Player.">playerc_health_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l01845"></a>01845 
<a name="l01847"></a>01847 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__health.html#ga7141cc9acab153487fa2766ed88ed7d7" title="Un-subscribe from the health device.">playerc_health_unsubscribe</a>(<a class="code" href="structplayerc__health__t.html" title="Note: the structure describing the HEALTH&amp;#39;s data packet is declared in Player.">playerc_health_t</a> *device);
<a name="l01848"></a>01848 
<a name="l01849"></a>01849 
<a name="l01851"></a>01851 <span class="comment">/***************************************************************************/</span>
<a name="l01852"></a>01852 
<a name="l01853"></a>01853 
<a name="l01854"></a>01854 <span class="comment">/***************************************************************************/</span>
<a name="l01865"></a><a class="code" href="structplayerc__ir__t.html">01865</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01866"></a>01866 {
<a name="l01868"></a><a class="code" href="structplayerc__ir__t.html#aff04f039ac2dede35b69ada3c8e57229">01868</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> <a class="code" href="structplayerc__blackboard.html#a0650d623b924c80a5f89b1366e3301c9" title="Device info; must be at the start of all device structures.">info</a>;
<a name="l01869"></a>01869 
<a name="l01870"></a>01870   <span class="comment">/* data*/</span>
<a name="l01871"></a>01871   <a class="code" href="structplayer__ir__data.html" title="Data: ranges (PLAYER_IR_DATA_RANGES).">player_ir_data_t</a> data;
<a name="l01872"></a>01872 
<a name="l01873"></a>01873   <span class="comment">/* config*/</span>
<a name="l01874"></a>01874   <a class="code" href="structplayer__ir__pose.html" title="Request/reply: get pose.">player_ir_pose_t</a> poses;
<a name="l01875"></a>01875 
<a name="l01876"></a>01876 } <a class="code" href="structplayerc__ir__t.html" title="Ir proxy data.">playerc_ir_t</a>;
<a name="l01877"></a>01877 
<a name="l01878"></a>01878 
<a name="l01880"></a>01880 PLAYERC_EXPORT <a class="code" href="structplayerc__ir__t.html" title="Ir proxy data.">playerc_ir_t</a> *<a class="code" href="group__playerc__proxy__ir.html#ga9ec2ec2c3e042676a02d82da7a701287" title="Create a ir proxy.">playerc_ir_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l01881"></a>01881 
<a name="l01883"></a>01883 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__ir.html#ga0986eaa3c3575371196125498aaf5151" title="Destroy a ir proxy.">playerc_ir_destroy</a>(<a class="code" href="structplayerc__ir__t.html" title="Ir proxy data.">playerc_ir_t</a> *device);
<a name="l01884"></a>01884 
<a name="l01886"></a>01886 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__ir.html#gab9f40abf782055ea074bbf88cb5c6ad0" title="Subscribe to the ir device.">playerc_ir_subscribe</a>(<a class="code" href="structplayerc__ir__t.html" title="Ir proxy data.">playerc_ir_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l01887"></a>01887 
<a name="l01889"></a>01889 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__ir.html#ga513cc80aa9f7daa4a16e3e2c4e7a75a3" title="Un-subscribe from the ir device.">playerc_ir_unsubscribe</a>(<a class="code" href="structplayerc__ir__t.html" title="Ir proxy data.">playerc_ir_t</a> *device);
<a name="l01890"></a>01890 
<a name="l01897"></a>01897 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__ir.html#gad1bb2ccc5b929cdf352b87adede2eed8" title="Get the ir geometry.">playerc_ir_get_geom</a>(<a class="code" href="structplayerc__ir__t.html" title="Ir proxy data.">playerc_ir_t</a> *device);
<a name="l01898"></a>01898 
<a name="l01899"></a>01899 
<a name="l01901"></a>01901 <span class="comment">/***************************************************************************/</span>
<a name="l01902"></a>01902 
<a name="l01903"></a>01903 
<a name="l01904"></a>01904 <span class="comment">/***************************************************************************/</span>
<a name="l01914"></a><a class="code" href="structplayerc__joystick__t.html">01914</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01915"></a>01915 {
<a name="l01917"></a><a class="code" href="structplayerc__joystick__t.html#a331d9f7b380a62316fedf5ca55bf484e">01917</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> <a class="code" href="structplayerc__blackboard.html#a0650d623b924c80a5f89b1366e3301c9" title="Device info; must be at the start of all device structures.">info</a>;
<a name="l01918"></a>01918   int32_t axes_count;
<a name="l01919"></a>01919   int32_t pos[8];
<a name="l01920"></a>01920   uint32_t buttons;
<a name="l01921"></a>01921   <span class="keywordtype">int</span> * axes_max;
<a name="l01922"></a>01922   <span class="keywordtype">int</span> * axes_min;
<a name="l01923"></a>01923   <span class="keywordtype">double</span> * scale_pos;
<a name="l01924"></a>01924 
<a name="l01925"></a>01925 
<a name="l01926"></a>01926 } <a class="code" href="structplayerc__joystick__t.html" title="joystick proxy data.">playerc_joystick_t</a>;
<a name="l01927"></a>01927 
<a name="l01928"></a>01928 
<a name="l01930"></a>01930 PLAYERC_EXPORT <a class="code" href="structplayerc__joystick__t.html" title="joystick proxy data.">playerc_joystick_t</a> *<a class="code" href="group__playerc__proxy__joystick.html#ga3e3a820d292c6587194538fa7f4789eb" title="Create a joystick proxy.">playerc_joystick_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l01931"></a>01931 
<a name="l01933"></a>01933 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__joystick.html#ga32df443f81c2a6ccb7c9ac64d30af4c6" title="Destroy a joystick proxy.">playerc_joystick_destroy</a>(<a class="code" href="structplayerc__joystick__t.html" title="joystick proxy data.">playerc_joystick_t</a> *device);
<a name="l01934"></a>01934 
<a name="l01936"></a>01936 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__joystick.html#gaf40f6479b240c3020c48d101f54fe45d" title="Subscribe to the joystick device.">playerc_joystick_subscribe</a>(<a class="code" href="structplayerc__joystick__t.html" title="joystick proxy data.">playerc_joystick_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l01937"></a>01937 
<a name="l01939"></a>01939 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__joystick.html#ga6bb0fbaaae5cdda462703ea4df22a21a" title="Un-subscribe from the joystick device.">playerc_joystick_unsubscribe</a>(<a class="code" href="structplayerc__joystick__t.html" title="joystick proxy data.">playerc_joystick_t</a> *device);
<a name="l01940"></a>01940 
<a name="l01942"></a>01942 <span class="comment">/**************************************************************************/</span>
<a name="l01943"></a>01943 
<a name="l01944"></a>01944 
<a name="l01945"></a>01945 <span class="comment">/***************************************************************************/</span>
<a name="l01959"></a><a class="code" href="structplayerc__laser__t.html">01959</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01960"></a>01960 {
<a name="l01962"></a><a class="code" href="structplayerc__laser__t.html#a9950dc8b6caf3907af81008f2a01eb16">01962</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> <a class="code" href="structplayerc__blackboard.html#a0650d623b924c80a5f89b1366e3301c9" title="Device info; must be at the start of all device structures.">info</a>;
<a name="l01963"></a>01963 
<a name="l01967"></a><a class="code" href="structplayerc__laser__t.html#af1b6343e8ae19097b7e7f24920b5ab96">01967</a>   <span class="keywordtype">double</span> pose[3];
<a name="l01968"></a>01968   <span class="keywordtype">double</span> size[2];
<a name="l01969"></a>01969 
<a name="l01971"></a><a class="code" href="structplayerc__laser__t.html#af885a7e55642a0dd75d1d521d5e1ed4f">01971</a>   <span class="keywordtype">double</span> robot_pose[3];
<a name="l01972"></a>01972 
<a name="l01974"></a><a class="code" href="structplayerc__laser__t.html#ab24ba6ffa75e93d6922a71f9e85ef165">01974</a>   <span class="keywordtype">int</span> intensity_on;
<a name="l01975"></a>01975 
<a name="l01977"></a><a class="code" href="structplayerc__laser__t.html#aa209f30e7bc143d314389ae601dac4a1">01977</a>   <span class="keywordtype">int</span> scan_count;
<a name="l01978"></a>01978 
<a name="l01980"></a><a class="code" href="structplayerc__laser__t.html#ac64a2bb74f0e2bb64610bc35d91e9ea5">01980</a>   <span class="keywordtype">double</span> scan_start;
<a name="l01981"></a>01981 
<a name="l01983"></a><a class="code" href="structplayerc__laser__t.html#ab257e48dd9f681deb1f3ea9a5f943132">01983</a>   <span class="keywordtype">double</span> scan_res;
<a name="l01984"></a>01984 
<a name="l01986"></a><a class="code" href="structplayerc__laser__t.html#a2b894984c5896e1917db58d0e28d4a1f">01986</a>   <span class="keywordtype">double</span> range_res;
<a name="l01987"></a>01987 
<a name="l01989"></a><a class="code" href="structplayerc__laser__t.html#aa2cc94951a82b3bc4ee216aaee41ece8">01989</a>   <span class="keywordtype">double</span> max_range;
<a name="l01990"></a>01990 
<a name="l01992"></a><a class="code" href="structplayerc__laser__t.html#afa07d72a1e453041a6f9b44a9f4c6bbd">01992</a>   <span class="keywordtype">double</span> scanning_frequency;
<a name="l01993"></a>01993 
<a name="l01995"></a><a class="code" href="structplayerc__laser__t.html#aabd106cf05b665bccc8171f240909cc6">01995</a>   <span class="keywordtype">double</span> *ranges;
<a name="l01996"></a>01996 
<a name="l01998"></a><a class="code" href="structplayerc__laser__t.html#a6c7f6bb52ebc6b91a51dcff872af8179">01998</a>   double (*scan)[2];
<a name="l01999"></a>01999 
<a name="l02001"></a><a class="code" href="structplayerc__laser__t.html#a181239d38b8e07381f8cf5e6b7a86d94">02001</a>   <a class="code" href="structplayer__point__2d.html" title="A point in the plane.">player_point_2d_t</a> *point;
<a name="l02002"></a>02002 
<a name="l02006"></a><a class="code" href="structplayerc__laser__t.html#a08ad1a0f45197ab3562a30c5a9fcfb3d">02006</a>   <span class="keywordtype">int</span> *intensity;
<a name="l02007"></a>02007 
<a name="l02009"></a><a class="code" href="structplayerc__laser__t.html#adff250da41332076e87beb8bc6c2f149">02009</a>   <span class="keywordtype">int</span> scan_id;
<a name="l02010"></a>02010 
<a name="l02012"></a><a class="code" href="structplayerc__laser__t.html#aff6e6a4a9711453cdc94bc157f38baca">02012</a>   <span class="keywordtype">int</span> laser_id;
<a name="l02013"></a>02013 
<a name="l02017"></a><a class="code" href="structplayerc__laser__t.html#a81cff23a69141f2cc5dbb5d897d26c1f">02017</a>   <span class="keywordtype">double</span> min_right;
<a name="l02018"></a>02018 
<a name="l02022"></a><a class="code" href="structplayerc__laser__t.html#ab6ef7fd7f54d082e95013679796ad47d">02022</a>   <span class="keywordtype">double</span> min_left;
<a name="l02023"></a>02023 } <a class="code" href="structplayerc__laser__t.html" title="Laser proxy data.">playerc_laser_t</a>;
<a name="l02024"></a>02024 
<a name="l02025"></a>02025 
<a name="l02027"></a>02027 PLAYERC_EXPORT <a class="code" href="structplayerc__laser__t.html" title="Laser proxy data.">playerc_laser_t</a> *<a class="code" href="group__playerc__proxy__laser.html#ga3a9395965643cecfd64ce041e91705ad" title="Create a laser proxy.">playerc_laser_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l02028"></a>02028 
<a name="l02030"></a>02030 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__laser.html#gab610776ebfc99ba62ff76a7b64e1961b" title="Destroy a laser proxy.">playerc_laser_destroy</a>(<a class="code" href="structplayerc__laser__t.html" title="Laser proxy data.">playerc_laser_t</a> *device);
<a name="l02031"></a>02031 
<a name="l02033"></a>02033 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__laser.html#ga7a0ed8d0899ddec288569a373b41ad38" title="Subscribe to the laser device.">playerc_laser_subscribe</a>(<a class="code" href="structplayerc__laser__t.html" title="Laser proxy data.">playerc_laser_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l02034"></a>02034 
<a name="l02036"></a>02036 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__laser.html#gac1a9338d2991f7a362d45e9615f480d0" title="Un-subscribe from the laser device.">playerc_laser_unsubscribe</a>(<a class="code" href="structplayerc__laser__t.html" title="Laser proxy data.">playerc_laser_t</a> *device);
<a name="l02037"></a>02037 
<a name="l02060"></a>02060 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__laser.html#ga6ce304d226b030e2171d6d7c93065fa5" title="Configure the laser.">playerc_laser_set_config</a>(<a class="code" href="structplayerc__laser__t.html" title="Laser proxy data.">playerc_laser_t</a> *device,
<a name="l02061"></a>02061                              <span class="keywordtype">double</span> min_angle, <span class="keywordtype">double</span> max_angle,
<a name="l02062"></a>02062                              <span class="keywordtype">double</span> resolution,
<a name="l02063"></a>02063                              <span class="keywordtype">double</span> range_res,
<a name="l02064"></a>02064                              <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> intensity,
<a name="l02065"></a>02065                              <span class="keywordtype">double</span> scanning_frequency);
<a name="l02066"></a>02066 
<a name="l02089"></a>02089 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__laser.html#ga33505b195b10ef2f6d94792ea0665dbe" title="Get the laser configuration.">playerc_laser_get_config</a>(<a class="code" href="structplayerc__laser__t.html" title="Laser proxy data.">playerc_laser_t</a> *device,
<a name="l02090"></a>02090                              <span class="keywordtype">double</span> *min_angle,
<a name="l02091"></a>02091                              <span class="keywordtype">double</span> *max_angle,
<a name="l02092"></a>02092                              <span class="keywordtype">double</span> *resolution,
<a name="l02093"></a>02093                              <span class="keywordtype">double</span> *range_res,
<a name="l02094"></a>02094                              <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *intensity,
<a name="l02095"></a>02095                              <span class="keywordtype">double</span> *scanning_frequency);
<a name="l02096"></a>02096 
<a name="l02103"></a>02103 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__laser.html#ga26ab92c5d5869837a3b3599390816bb3" title="Get the laser geometry.">playerc_laser_get_geom</a>(<a class="code" href="structplayerc__laser__t.html" title="Laser proxy data.">playerc_laser_t</a> *device);
<a name="l02104"></a>02104 
<a name="l02109"></a>02109 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__laser.html#gaec47d2a32d5450d57f914850ad873083" title="Get the laser IDentification information.">playerc_laser_get_id</a> (<a class="code" href="structplayerc__laser__t.html" title="Laser proxy data.">playerc_laser_t</a> *device);
<a name="l02110"></a>02110 
<a name="l02113"></a>02113 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__laser.html#ga2d6769a1fcf91d95addc19854cbd5209" title="Print a human-readable summary of the laser state on stdout.">playerc_laser_printout</a>( <a class="code" href="structplayerc__laser__t.html" title="Laser proxy data.">playerc_laser_t</a> * device,
<a name="l02114"></a>02114         <span class="keyword">const</span> <span class="keywordtype">char</span>* prefix );
<a name="l02115"></a>02115 
<a name="l02117"></a>02117 <span class="comment">/**************************************************************************/</span>
<a name="l02118"></a>02118 
<a name="l02119"></a>02119 
<a name="l02131"></a><a class="code" href="structplayerc__limb__t.html">02131</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l02132"></a>02132 {
<a name="l02134"></a><a class="code" href="structplayerc__limb__t.html#a80d1f969bb89b60bf3612f2ad8ec0015">02134</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> <a class="code" href="structplayerc__blackboard.html#a0650d623b924c80a5f89b1366e3301c9" title="Device info; must be at the start of all device structures.">info</a>;
<a name="l02135"></a>02135 
<a name="l02136"></a>02136   <a class="code" href="structplayer__limb__data.html" title="Data: state (PLAYER_LIMB_DATA).">player_limb_data_t</a> data;
<a name="l02137"></a>02137   <a class="code" href="structplayer__limb__geom__req.html" title="Request/reply: get geometry.">player_limb_geom_req_t</a> geom;
<a name="l02138"></a>02138 } <a class="code" href="structplayerc__limb__t.html" title="Limb device data.">playerc_limb_t</a>;
<a name="l02139"></a>02139 
<a name="l02141"></a>02141 PLAYERC_EXPORT <a class="code" href="structplayerc__limb__t.html" title="Limb device data.">playerc_limb_t</a> *<a class="code" href="group__playerc__proxy__limb.html#gacaf5bfd25a712cbf57f46ae3612e3b1e" title="Create a limb proxy.">playerc_limb_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l02142"></a>02142 
<a name="l02144"></a>02144 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__limb.html#ga3f33f7211ae7b164b770f62211f38477" title="Destroy a limb proxy.">playerc_limb_destroy</a>(<a class="code" href="structplayerc__limb__t.html" title="Limb device data.">playerc_limb_t</a> *device);
<a name="l02145"></a>02145 
<a name="l02147"></a>02147 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__limb.html#gaa26e9f3016d4fe39734242d162705d5e" title="Subscribe to the limb device.">playerc_limb_subscribe</a>(<a class="code" href="structplayerc__limb__t.html" title="Limb device data.">playerc_limb_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l02148"></a>02148 
<a name="l02150"></a>02150 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__limb.html#gae4e8ae0406977d5a1ccf799fe88ddbee" title="Un-subscribe from the limb device.">playerc_limb_unsubscribe</a>(<a class="code" href="structplayerc__limb__t.html" title="Limb device data.">playerc_limb_t</a> *device);
<a name="l02151"></a>02151 
<a name="l02154"></a>02154 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__limb.html#gad5184d5c2f079593758d1bed994d2c80" title="Get the limb geometry.">playerc_limb_get_geom</a>(<a class="code" href="structplayerc__limb__t.html" title="Limb device data.">playerc_limb_t</a> *device);
<a name="l02155"></a>02155 
<a name="l02157"></a>02157 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__limb.html#ga8311b68c4e56221e51ca2f6327c7f59e" title="Command the end effector to move home.">playerc_limb_home_cmd</a>(<a class="code" href="structplayerc__limb__t.html" title="Limb device data.">playerc_limb_t</a> *device);
<a name="l02158"></a>02158 
<a name="l02160"></a>02160 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__limb.html#gac405037a528c42891d0384a1e923c5d0" title="Command the end effector to stop immediatly.">playerc_limb_stop_cmd</a>(<a class="code" href="structplayerc__limb__t.html" title="Limb device data.">playerc_limb_t</a> *device);
<a name="l02161"></a>02161 
<a name="l02163"></a>02163 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__limb.html#gaca346383295fdb096c0096a8ea08e783" title="Command the end effector to move to a specified pose.">playerc_limb_setpose_cmd</a>(<a class="code" href="structplayerc__limb__t.html" title="Limb device data.">playerc_limb_t</a> *device, <span class="keywordtype">float</span> pX, <span class="keywordtype">float</span> pY, <span class="keywordtype">float</span> pZ, <span class="keywordtype">float</span> aX, <span class="keywordtype">float</span> aY, <span class="keywordtype">float</span> aZ, <span class="keywordtype">float</span> oX, <span class="keywordtype">float</span> oY, <span class="keywordtype">float</span> oZ);
<a name="l02164"></a>02164 
<a name="l02167"></a>02167 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__limb.html#gaf281ed470b334af31855ad93765f812f" title="Command the end effector to move to a specified position (ignoring approach and orientation vectors)...">playerc_limb_setposition_cmd</a>(<a class="code" href="structplayerc__limb__t.html" title="Limb device data.">playerc_limb_t</a> *device, <span class="keywordtype">float</span> pX, <span class="keywordtype">float</span> pY, <span class="keywordtype">float</span> pZ);
<a name="l02168"></a>02168 
<a name="l02171"></a>02171 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__limb.html#ga7932ba84d96daff1a80ebfe6e99de345" title="Command the end effector to move along the provided vector from its current position for the provided...">playerc_limb_vecmove_cmd</a>(<a class="code" href="structplayerc__limb__t.html" title="Limb device data.">playerc_limb_t</a> *device, <span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z, <span class="keywordtype">float</span> length);
<a name="l02172"></a>02172 
<a name="l02176"></a>02176 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__limb.html#ga771825dee5ec32abd78508392dce3e8b" title="Turn the power to the limb on or off.">playerc_limb_power</a>(<a class="code" href="structplayerc__limb__t.html" title="Limb device data.">playerc_limb_t</a> *device, uint32_t enable);
<a name="l02177"></a>02177 
<a name="l02179"></a>02179 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__limb.html#ga623faaab7a6264478ce1c7c44bc4b0a3" title="Turn the brakes of all actuators in the limb that have them on or off.">playerc_limb_brakes</a>(<a class="code" href="structplayerc__limb__t.html" title="Limb device data.">playerc_limb_t</a> *device, uint32_t enable);
<a name="l02180"></a>02180 
<a name="l02182"></a>02182 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__limb.html#ga18f33481b51e8f5cab537a1ec4950cd6" title="Set the speed of the end effector (m/s) for all subsequent movement commands.">playerc_limb_speed_config</a>(<a class="code" href="structplayerc__limb__t.html" title="Limb device data.">playerc_limb_t</a> *device, <span class="keywordtype">float</span> speed);
<a name="l02183"></a>02183 
<a name="l02185"></a>02185 <span class="comment">/**************************************************************************/</span>
<a name="l02186"></a>02186 
<a name="l02187"></a>02187 
<a name="l02188"></a>02188 <span class="comment">/***************************************************************************/</span>
<a name="l02205"></a><a class="code" href="structplayerc__localize__particle.html">02205</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structplayerc__localize__particle.html" title="Hypothesis data.">playerc_localize_particle</a>
<a name="l02206"></a>02206 {
<a name="l02207"></a>02207   <span class="keywordtype">double</span> pose[3];
<a name="l02208"></a>02208   <span class="keywordtype">double</span> weight;
<a name="l02209"></a>02209 } <a class="code" href="structplayerc__localize__particle.html" title="Hypothesis data.">playerc_localize_particle_t</a>;
<a name="l02210"></a>02210 
<a name="l02211"></a>02211 
<a name="l02213"></a><a class="code" href="structplayerc__localize__t.html">02213</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l02214"></a>02214 {
<a name="l02216"></a><a class="code" href="structplayerc__localize__t.html#afd214a8707e7ac318f22194f5015a2b1">02216</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l02217"></a>02217 
<a name="l02219"></a><a class="code" href="structplayerc__localize__t.html#ab44f417fa5704dd12191b12c87b74bad">02219</a>   <span class="keywordtype">int</span> map_size_x, map_size_y;
<a name="l02220"></a>02220 
<a name="l02222"></a><a class="code" href="structplayerc__localize__t.html#a3654346fef0546809621a8f421f80e33">02222</a>   <span class="keywordtype">double</span> map_scale;
<a name="l02223"></a>02223 
<a name="l02225"></a><a class="code" href="structplayerc__localize__t.html#add085ac9f547b711167b938bdbb42dba">02225</a>   <span class="keywordtype">int</span> map_tile_x, map_tile_y;
<a name="l02226"></a>02226 
<a name="l02228"></a><a class="code" href="structplayerc__localize__t.html#a0010293bd1c180cc6dd6fa52de53f83a">02228</a>   int8_t *map_cells;
<a name="l02229"></a>02229 
<a name="l02231"></a><a class="code" href="structplayerc__localize__t.html#aa2083eb933ef1a99fdd46f6a2ff62d21">02231</a>   <span class="keywordtype">int</span> pending_count;
<a name="l02232"></a>02232 
<a name="l02234"></a><a class="code" href="structplayerc__localize__t.html#a4107dacd480c079bc749488cdbaa480b">02234</a>   <span class="keywordtype">double</span> pending_time;
<a name="l02235"></a>02235 
<a name="l02237"></a><a class="code" href="structplayerc__localize__t.html#ae669fac1f119e93b836258043cccfba1">02237</a>   <span class="keywordtype">int</span> hypoth_count;
<a name="l02238"></a>02238   <a class="code" href="structplayer__localize__hypoth.html" title="Hypothesis format.">player_localize_hypoth_t</a> *hypoths;
<a name="l02239"></a>02239 
<a name="l02240"></a>02240   <span class="keywordtype">double</span> mean[3];
<a name="l02241"></a>02241   <span class="keywordtype">double</span> variance;
<a name="l02242"></a>02242   <span class="keywordtype">int</span> num_particles;
<a name="l02243"></a>02243   <a class="code" href="structplayerc__localize__particle.html" title="Hypothesis data.">playerc_localize_particle_t</a> *particles;
<a name="l02244"></a>02244 
<a name="l02245"></a>02245 } <a class="code" href="structplayerc__localize__t.html" title="Localization device data.">playerc_localize_t</a>;
<a name="l02246"></a>02246 
<a name="l02247"></a>02247 
<a name="l02249"></a>02249 PLAYERC_EXPORT <a class="code" href="structplayerc__localize__t.html" title="Localization device data.">playerc_localize_t</a> *<a class="code" href="group__playerc__proxy__localize.html#ga191492d8752a4ebd6cfbbfce5fc58fe2" title="Create a localize proxy.">playerc_localize_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l02250"></a>02250 
<a name="l02252"></a>02252 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__localize.html#gac693e2d97320faa4bc38feb31e5e0e5e" title="Destroy a localize proxy.">playerc_localize_destroy</a>(<a class="code" href="structplayerc__localize__t.html" title="Localization device data.">playerc_localize_t</a> *device);
<a name="l02253"></a>02253 
<a name="l02255"></a>02255 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__localize.html#ga7740689b7e36278610e7fd237a23f459" title="Subscribe to the localize device.">playerc_localize_subscribe</a>(<a class="code" href="structplayerc__localize__t.html" title="Localization device data.">playerc_localize_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l02256"></a>02256 
<a name="l02258"></a>02258 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__localize.html#ga6423064043499e9a3f28a12441568be7" title="Un-subscribe from the localize device.">playerc_localize_unsubscribe</a>(<a class="code" href="structplayerc__localize__t.html" title="Localization device data.">playerc_localize_t</a> *device);
<a name="l02259"></a>02259 
<a name="l02261"></a>02261 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__localize.html#ga521927fef320ca5fc57fb0e2ec538ca3" title="Set the the robot pose (mean and covariance).">playerc_localize_set_pose</a>(<a class="code" href="structplayerc__localize__t.html" title="Localization device data.">playerc_localize_t</a> *device, <span class="keywordtype">double</span> pose[3], <span class="keywordtype">double</span> cov[3]);
<a name="l02262"></a>02262 
<a name="l02265"></a>02265 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__localize.html#ga94898289482cf4ce368340fc489be776" title="Request the particle set.">playerc_localize_get_particles</a>(<a class="code" href="structplayerc__localize__t.html" title="Localization device data.">playerc_localize_t</a> *device);
<a name="l02266"></a>02266 
<a name="l02268"></a>02268 <span class="comment">/**************************************************************************/</span>
<a name="l02269"></a>02269 
<a name="l02270"></a>02270 
<a name="l02271"></a>02271 <span class="comment">/***************************************************************************/</span>
<a name="l02281"></a><a class="code" href="structplayerc__log__t.html">02281</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l02282"></a>02282 {
<a name="l02284"></a><a class="code" href="structplayerc__log__t.html#add37a45f954c737d7319929f06fef628">02284</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l02285"></a>02285 
<a name="l02288"></a><a class="code" href="structplayerc__log__t.html#aa8c76fb5b39185ef2e284652a5412eb7">02288</a>   <span class="keywordtype">int</span> type;
<a name="l02289"></a>02289 
<a name="l02292"></a><a class="code" href="structplayerc__log__t.html#afc867c75b81998009eb2cfef01da526d">02292</a>   <span class="keywordtype">int</span> state;
<a name="l02293"></a>02293 } <a class="code" href="structplayerc__log__t.html" title="Log proxy data.">playerc_log_t</a>;
<a name="l02294"></a>02294 
<a name="l02295"></a>02295 
<a name="l02297"></a>02297 PLAYERC_EXPORT <a class="code" href="structplayerc__log__t.html" title="Log proxy data.">playerc_log_t</a> *<a class="code" href="group__playerc__proxy__log.html#ga2ab1f7455efd5006acec8b6830affd4a" title="Create a log proxy.">playerc_log_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l02298"></a>02298 
<a name="l02300"></a>02300 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__log.html#gafeb8aa5640d6f61f6655b1d2bf13d594" title="Destroy a log proxy.">playerc_log_destroy</a>(<a class="code" href="structplayerc__log__t.html" title="Log proxy data.">playerc_log_t</a> *device);
<a name="l02301"></a>02301 
<a name="l02303"></a>02303 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__log.html#ga683fc26534d4f28578014150ffabcc1e" title="Subscribe to the log device.">playerc_log_subscribe</a>(<a class="code" href="structplayerc__log__t.html" title="Log proxy data.">playerc_log_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l02304"></a>02304 
<a name="l02306"></a>02306 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__log.html#ga9552ba118e376315d674198a7f196d7d" title="Un-subscribe from the log device.">playerc_log_unsubscribe</a>(<a class="code" href="structplayerc__log__t.html" title="Log proxy data.">playerc_log_t</a> *device);
<a name="l02307"></a>02307 
<a name="l02309"></a>02309 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__log.html#ga7cb6fc6c715ec079f74ad4345e64a627" title="Start/stop logging.">playerc_log_set_write_state</a>(<a class="code" href="structplayerc__log__t.html" title="Log proxy data.">playerc_log_t</a>* device, <span class="keywordtype">int</span> state);
<a name="l02310"></a>02310 
<a name="l02312"></a>02312 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__log.html#ga824fee28974e809cd21193309273a0c8" title="Start/stop playback.">playerc_log_set_read_state</a>(<a class="code" href="structplayerc__log__t.html" title="Log proxy data.">playerc_log_t</a>* device, <span class="keywordtype">int</span> state);
<a name="l02313"></a>02313 
<a name="l02315"></a>02315 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__log.html#gad9292675da9f6a08ba447b666d2fb39d" title="Rewind playback.">playerc_log_set_read_rewind</a>(<a class="code" href="structplayerc__log__t.html" title="Log proxy data.">playerc_log_t</a>* device);
<a name="l02316"></a>02316 
<a name="l02322"></a>02322 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__log.html#gac4e58a6e88c1bbe8096a26ef8105da3d" title="Get logging/playback state.">playerc_log_get_state</a>(<a class="code" href="structplayerc__log__t.html" title="Log proxy data.">playerc_log_t</a>* device);
<a name="l02323"></a>02323 
<a name="l02325"></a>02325 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__log.html#ga866ad4a1a4cb47be2a0f59c711bfe4e6" title="Change name of log file to write to.">playerc_log_set_filename</a>(<a class="code" href="structplayerc__log__t.html" title="Log proxy data.">playerc_log_t</a>* device, <span class="keyword">const</span> <span class="keywordtype">char</span>* fname);
<a name="l02326"></a>02326 
<a name="l02327"></a>02327 
<a name="l02331"></a>02331 <span class="comment">/***************************************************************************/</span>
<a name="l02341"></a><a class="code" href="structplayerc__map__t.html">02341</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l02342"></a>02342 {
<a name="l02344"></a><a class="code" href="structplayerc__map__t.html#a0fc30a5a292a4c771e283771bdd74d6a">02344</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l02345"></a>02345 
<a name="l02347"></a><a class="code" href="structplayerc__map__t.html#add5f19a78e4d5665e02df8837e5726b7">02347</a>   <span class="keywordtype">double</span> resolution;
<a name="l02348"></a>02348 
<a name="l02350"></a><a class="code" href="structplayerc__map__t.html#af39cb1171ad9b776d2cb694d21e4fb72">02350</a>   <span class="keywordtype">int</span> width, height;
<a name="l02351"></a>02351 
<a name="l02353"></a><a class="code" href="structplayerc__map__t.html#a6910891b0d7421355d7a8b473dafbda4">02353</a>   <span class="keywordtype">double</span> origin[2];
<a name="l02354"></a>02354 
<a name="l02356"></a><a class="code" href="structplayerc__map__t.html#a7faed215491e70e1747ad4738f8930bf">02356</a>   <span class="keywordtype">char</span>* cells;
<a name="l02357"></a>02357 
<a name="l02360"></a><a class="code" href="structplayerc__map__t.html#a305aa8542fec234101dca684ea24ea73">02360</a>   <span class="keywordtype">double</span> vminx, vminy, vmaxx, vmaxy;
<a name="l02361"></a>02361   <span class="keywordtype">int</span> num_segments;
<a name="l02362"></a>02362   <a class="code" href="structplayer__segment.html" title="A line segment, used to construct vector-based maps.">player_segment_t</a>* segments;
<a name="l02363"></a>02363 } <a class="code" href="structplayerc__map__t.html" title="Map proxy data.">playerc_map_t</a>;
<a name="l02364"></a>02364 
<a name="l02367"></a><a class="code" href="group__playerc__proxy__map.html#ga5c8e64ab3b8faf9c97b0a377828b6fa2">02367</a> <span class="preprocessor">#define PLAYERC_MAP_INDEX(dev, i, j) ((dev-&gt;width) * (j) + (i))</span>
<a name="l02368"></a>02368 <span class="preprocessor"></span>
<a name="l02370"></a>02370 PLAYERC_EXPORT <a class="code" href="structplayerc__map__t.html" title="Map proxy data.">playerc_map_t</a> *<a class="code" href="group__playerc__proxy__map.html#ga3dfd429e2e55e20b0a15409d2e7d2ba3" title="Create a map proxy.">playerc_map_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l02371"></a>02371 
<a name="l02373"></a>02373 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__map.html#ga582ac46e3a7b73117fc9e979911be8f7" title="Destroy a map proxy.">playerc_map_destroy</a>(<a class="code" href="structplayerc__map__t.html" title="Map proxy data.">playerc_map_t</a> *device);
<a name="l02374"></a>02374 
<a name="l02376"></a>02376 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__map.html#ga253a7aafed7384012dbcf2203747fe92" title="Subscribe to the map device.">playerc_map_subscribe</a>(<a class="code" href="structplayerc__map__t.html" title="Map proxy data.">playerc_map_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l02377"></a>02377 
<a name="l02379"></a>02379 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__map.html#ga29d685e14a9c6fffcca240c7de6b23b8" title="Un-subscribe from the map device.">playerc_map_unsubscribe</a>(<a class="code" href="structplayerc__map__t.html" title="Map proxy data.">playerc_map_t</a> *device);
<a name="l02380"></a>02380 
<a name="l02382"></a>02382 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__map.html#gae179619b8643132809eceba7f256c576" title="Get the map, which is stored in the proxy.">playerc_map_get_map</a>(<a class="code" href="structplayerc__map__t.html" title="Map proxy data.">playerc_map_t</a>* device);
<a name="l02383"></a>02383 
<a name="l02385"></a>02385 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__map.html#gab5cf932ec670485322963e79dea7f7a0" title="Get the vector map, which is stored in the proxy.">playerc_map_get_vector</a>(<a class="code" href="structplayerc__map__t.html" title="Map proxy data.">playerc_map_t</a>* device);
<a name="l02386"></a>02386 
<a name="l02388"></a>02388 <span class="comment">/**************************************************************************/</span>
<a name="l02389"></a>02389 
<a name="l02398"></a><a class="code" href="structplayerc__vectormap__t.html">02398</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l02399"></a>02399 {
<a name="l02401"></a><a class="code" href="structplayerc__vectormap__t.html#a3ee2563cde3224ffecd780f413eefc22">02401</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l02403"></a><a class="code" href="structplayerc__vectormap__t.html#ada3e1590ca1746782b5f5aadcbb24ee0">02403</a>   uint32_t srid;
<a name="l02405"></a><a class="code" href="structplayerc__vectormap__t.html#a8cc7038098407747e2a0408f6b291952">02405</a>   <a class="code" href="structplayer__extent2d.html" title="A rectangular bounding box, used to define the origin and bounds of an object.">player_extent2d_t</a> extent;
<a name="l02407"></a><a class="code" href="structplayerc__vectormap__t.html#a63f249ae1dacbfcbf17d247ac6c45b7d">02407</a>   uint32_t layers_count;
<a name="l02409"></a><a class="code" href="structplayerc__vectormap__t.html#a15591f2d0428b6327ecd34715802f688">02409</a>   <a class="code" href="structplayer__vectormap__layer__data.html" title="Vectormap data.">player_vectormap_layer_data_t</a>** layers_data;
<a name="l02411"></a><a class="code" href="structplayerc__vectormap__t.html#a309c2d378aac3560be812c19fde9b12a">02411</a>   <a class="code" href="structplayer__vectormap__layer__info.html">player_vectormap_layer_info_t</a>** layers_info;
<a name="l02413"></a><a class="code" href="structplayerc__vectormap__t.html#a3d8ebd7161d0528ea620ac324715fc50">02413</a>   playerwkbprocessor_t wkbprocessor;
<a name="l02414"></a>02414 
<a name="l02415"></a>02415 } <a class="code" href="structplayerc__vectormap__t.html" title="Vectormap proxy.">playerc_vectormap_t</a>;
<a name="l02416"></a>02416 
<a name="l02418"></a>02418 PLAYERC_EXPORT <a class="code" href="structplayerc__vectormap__t.html" title="Vectormap proxy.">playerc_vectormap_t</a> *<a class="code" href="group__playerc__proxy__vectormap.html#gaf8294682a4f5acdbd9137d48862fe858" title="Create a vectormap proxy.">playerc_vectormap_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l02419"></a>02419 
<a name="l02421"></a>02421 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__vectormap.html#ga91fb4e81642139f2f631ad8b75ed46d5" title="Destroy a vectormap proxy.">playerc_vectormap_destroy</a>(<a class="code" href="structplayerc__vectormap__t.html" title="Vectormap proxy.">playerc_vectormap_t</a> *device);
<a name="l02422"></a>02422 
<a name="l02424"></a>02424 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__vectormap.html#ga566baef814afa39e49cb62cc87731354" title="Subscribe to the vectormap device.">playerc_vectormap_subscribe</a>(<a class="code" href="structplayerc__vectormap__t.html" title="Vectormap proxy.">playerc_vectormap_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l02425"></a>02425 
<a name="l02427"></a>02427 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__vectormap.html#ga4ce2877be16bff7eae41859f293e58c8" title="Un-subscribe from the vectormap device.">playerc_vectormap_unsubscribe</a>(<a class="code" href="structplayerc__vectormap__t.html" title="Vectormap proxy.">playerc_vectormap_t</a> *device);
<a name="l02428"></a>02428 
<a name="l02430"></a>02430 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__vectormap.html#ga64fe99edbcec8c19ff8a962cb8d30f44" title="Get the vectormap metadata, which is stored in the proxy.">playerc_vectormap_get_map_info</a>(<a class="code" href="structplayerc__vectormap__t.html" title="Vectormap proxy.">playerc_vectormap_t</a>* device);
<a name="l02431"></a>02431 
<a name="l02433"></a>02433 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__vectormap.html#ga692425597ca95a13b7f8e795639bc4f2" title="Get the layer data by index.">playerc_vectormap_get_layer_data</a>(<a class="code" href="structplayerc__vectormap__t.html" title="Vectormap proxy.">playerc_vectormap_t</a> *device, <span class="keywordtype">unsigned</span> layer_index);
<a name="l02434"></a>02434 
<a name="l02436"></a>02436 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__vectormap.html#gae2411e5fc096134d70d072139b4daab1" title="Write layer data.">playerc_vectormap_write_layer</a>(<a class="code" href="structplayerc__vectormap__t.html" title="Vectormap proxy.">playerc_vectormap_t</a> *device, <span class="keyword">const</span> <a class="code" href="structplayer__vectormap__layer__data.html" title="Vectormap data.">player_vectormap_layer_data_t</a> * data);
<a name="l02437"></a>02437 
<a name="l02439"></a>02439 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__vectormap.html#gaa882eef56780649b5d38c59699a519c0" title="Clean up the dynamically allocated memory for the vectormap.">playerc_vectormap_cleanup</a>(<a class="code" href="structplayerc__vectormap__t.html" title="Vectormap proxy.">playerc_vectormap_t</a> *device);
<a name="l02440"></a>02440 
<a name="l02443"></a>02443 PLAYERC_EXPORT uint8_t * <a class="code" href="group__playerc__proxy__vectormap.html#ga702f6498d1f3110bab7d321271a03dd2" title="Get an individual feature as a WKB geometry.">playerc_vectormap_get_feature_data</a>(<a class="code" href="structplayerc__vectormap__t.html" title="Vectormap proxy.">playerc_vectormap_t</a> *device, <span class="keywordtype">unsigned</span> layer_index, <span class="keywordtype">unsigned</span> feature_index);
<a name="l02444"></a>02444 PLAYERC_EXPORT <span class="keywordtype">size_t</span> playerc_vectormap_get_feature_data_count(<a class="code" href="structplayerc__vectormap__t.html" title="Vectormap proxy.">playerc_vectormap_t</a> *device, <span class="keywordtype">unsigned</span> layer_index, <span class="keywordtype">unsigned</span> feature_index);
<a name="l02445"></a>02445 
<a name="l02448"></a>02448 <span class="comment">/***************************************************************************/</span>
<a name="l02459"></a><a class="code" href="structplayerc__opaque__t.html">02459</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l02460"></a>02460 {
<a name="l02462"></a><a class="code" href="structplayerc__opaque__t.html#a2a2e1d84989729b74bc1dd93ede4fc99">02462</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l02463"></a>02463 
<a name="l02465"></a><a class="code" href="structplayerc__opaque__t.html#a108e304adc2d4e058ee00ca89488834b">02465</a>   <span class="keywordtype">int</span> data_count;
<a name="l02466"></a>02466 
<a name="l02468"></a><a class="code" href="structplayerc__opaque__t.html#a452d976b9694c4385c49020221bc18a2">02468</a>   uint8_t *data;
<a name="l02469"></a>02469 } <a class="code" href="structplayerc__opaque__t.html" title="Opaque device data.">playerc_opaque_t</a>;
<a name="l02470"></a>02470 
<a name="l02472"></a>02472 PLAYERC_EXPORT <a class="code" href="structplayerc__opaque__t.html" title="Opaque device data.">playerc_opaque_t</a> *<a class="code" href="group__playerc__proxy__opaque.html#ga149b1617d2934dd8e09ff17651865f97" title="Create an opaque device proxy.">playerc_opaque_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l02473"></a>02473 
<a name="l02475"></a>02475 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__opaque.html#ga8fa12864eaade5c7d4005a5ca64e241b" title="Destroy an opaque device proxy.">playerc_opaque_destroy</a>(<a class="code" href="structplayerc__opaque__t.html" title="Opaque device data.">playerc_opaque_t</a> *device);
<a name="l02476"></a>02476 
<a name="l02478"></a>02478 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__opaque.html#ga094081dc0446517302f04d7f35a88ed1" title="Subscribe to the opaque device.">playerc_opaque_subscribe</a>(<a class="code" href="structplayerc__opaque__t.html" title="Opaque device data.">playerc_opaque_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l02479"></a>02479 
<a name="l02481"></a>02481 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__opaque.html#ga94d68d7e208f166f76a2dfb9108f856c" title="Un-subscribe from the opaque device.">playerc_opaque_unsubscribe</a>(<a class="code" href="structplayerc__opaque__t.html" title="Opaque device data.">playerc_opaque_t</a> *device);
<a name="l02482"></a>02482 
<a name="l02484"></a>02484 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__opaque.html#ga3051a1c763e962bca93a0446f9f0ddab" title="Send a generic command.">playerc_opaque_cmd</a>(<a class="code" href="structplayerc__opaque__t.html" title="Opaque device data.">playerc_opaque_t</a> *device, <a class="code" href="structplayer__opaque__data.html" title="data">player_opaque_data_t</a> *data);
<a name="l02485"></a>02485 
<a name="l02492"></a>02492 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__opaque.html#ga536ef6cfbba398936946b25f622b8c82" title="Send a generic request.">playerc_opaque_req</a>(<a class="code" href="structplayerc__opaque__t.html" title="Opaque device data.">playerc_opaque_t</a> *device, <a class="code" href="structplayer__opaque__data.html" title="data">player_opaque_data_t</a> *request, <a class="code" href="structplayer__opaque__data.html" title="data">player_opaque_data_t</a> **reply);
<a name="l02493"></a>02493 
<a name="l02495"></a>02495 <span class="comment">/**************************************************************************/</span>
<a name="l02496"></a>02496 
<a name="l02497"></a>02497 
<a name="l02498"></a>02498 <span class="comment">/***************************************************************************/</span>
<a name="l02508"></a><a class="code" href="structplayerc__planner__t.html">02508</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l02509"></a>02509 {
<a name="l02511"></a><a class="code" href="structplayerc__planner__t.html#a10321782dfebddf0173141d8dd9cc7f7">02511</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l02512"></a>02512 
<a name="l02514"></a><a class="code" href="structplayerc__planner__t.html#ab57e8e17db8689911ae2763b762389e3">02514</a>   <span class="keywordtype">int</span> path_valid;
<a name="l02515"></a>02515 
<a name="l02517"></a><a class="code" href="structplayerc__planner__t.html#ae046391a7d2e8e40ec3489e0e5074837">02517</a>   <span class="keywordtype">int</span> path_done;
<a name="l02518"></a>02518 
<a name="l02520"></a><a class="code" href="structplayerc__planner__t.html#a1eb31af61c046e3f04bfab1bbe6fcdaf">02520</a>   <span class="keywordtype">double</span> px, py, pa;
<a name="l02521"></a>02521 
<a name="l02523"></a><a class="code" href="structplayerc__planner__t.html#ad4e2df7df6a680f4a828f953623d2c9b">02523</a>   <span class="keywordtype">double</span> gx, gy, ga;
<a name="l02524"></a>02524 
<a name="l02526"></a><a class="code" href="structplayerc__planner__t.html#a12b1930ea41f24160024826f1e4b6aab">02526</a>   <span class="keywordtype">double</span> wx, wy, wa;
<a name="l02527"></a>02527 
<a name="l02531"></a><a class="code" href="structplayerc__planner__t.html#a3dc64ed428e951da38c02c722ad7695d">02531</a>   <span class="keywordtype">int</span> curr_waypoint;
<a name="l02532"></a>02532 
<a name="l02534"></a><a class="code" href="structplayerc__planner__t.html#a7ab8fb671577908bb1a8eb9f92a9412e">02534</a>   <span class="keywordtype">int</span> waypoint_count;
<a name="l02535"></a>02535 
<a name="l02538"></a><a class="code" href="structplayerc__planner__t.html#a138600fe874d94065273953c65e4d50b">02538</a>   double (*waypoints)[3];
<a name="l02539"></a>02539 
<a name="l02540"></a>02540 } <a class="code" href="structplayerc__planner__t.html" title="Planner device data.">playerc_planner_t</a>;
<a name="l02541"></a>02541 
<a name="l02543"></a>02543 PLAYERC_EXPORT <a class="code" href="structplayerc__planner__t.html" title="Planner device data.">playerc_planner_t</a> *<a class="code" href="group__playerc__proxy__planner.html#ga0bbc404671ad6c4eeeec15c70c733cfc" title="Create a planner device proxy.">playerc_planner_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l02544"></a>02544 
<a name="l02546"></a>02546 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__planner.html#ga74ce82ca05e49968c4887f6c55ea64f7" title="Destroy a planner device proxy.">playerc_planner_destroy</a>(<a class="code" href="structplayerc__planner__t.html" title="Planner device data.">playerc_planner_t</a> *device);
<a name="l02547"></a>02547 
<a name="l02549"></a>02549 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__planner.html#ga6c0218be82af5dbd8467c34afefa7ee0" title="Subscribe to the planner device.">playerc_planner_subscribe</a>(<a class="code" href="structplayerc__planner__t.html" title="Planner device data.">playerc_planner_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l02550"></a>02550 
<a name="l02552"></a>02552 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__planner.html#gad465818f905dbf663b6d9640375abcfc" title="Un-subscribe from the planner device.">playerc_planner_unsubscribe</a>(<a class="code" href="structplayerc__planner__t.html" title="Planner device data.">playerc_planner_t</a> *device);
<a name="l02553"></a>02553 
<a name="l02555"></a>02555 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__planner.html#ga9e15eaf0fc7fa6a2d7c5b9c70d200826" title="Set the goal pose (gx, gy, ga).">playerc_planner_set_cmd_pose</a>(<a class="code" href="structplayerc__planner__t.html" title="Planner device data.">playerc_planner_t</a> *device,
<a name="l02556"></a>02556                                   <span class="keywordtype">double</span> gx, <span class="keywordtype">double</span> gy, <span class="keywordtype">double</span> ga);
<a name="l02557"></a>02557 
<a name="l02564"></a>02564 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__planner.html#ga3b8605185dc16af52d3cf7f1c4b30abe" title="Get the list of waypoints.">playerc_planner_get_waypoints</a>(<a class="code" href="structplayerc__planner__t.html" title="Planner device data.">playerc_planner_t</a> *device);
<a name="l02565"></a>02565 
<a name="l02571"></a>02571 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__planner.html#ga3422cf4d2da29cbbc9ae0aa35f65fa6c" title="Enable / disable the robot&amp;#39;s motion.">playerc_planner_enable</a>(<a class="code" href="structplayerc__planner__t.html" title="Planner device data.">playerc_planner_t</a> *device, <span class="keywordtype">int</span> state);
<a name="l02572"></a>02572 
<a name="l02574"></a>02574 <span class="comment">/**************************************************************************/</span>
<a name="l02575"></a>02575 
<a name="l02576"></a>02576 <span class="comment">/***************************************************************************/</span>
<a name="l02587"></a><a class="code" href="structplayerc__position1d__t.html">02587</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l02588"></a>02588 {
<a name="l02590"></a><a class="code" href="structplayerc__position1d__t.html#af01a5d198961df625356028d537e1dfe">02590</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l02591"></a>02591 
<a name="l02595"></a><a class="code" href="structplayerc__position1d__t.html#afd1ecbed76a06e722f60fc2263f606e8">02595</a>   <span class="keywordtype">double</span> pose[3];
<a name="l02596"></a>02596   <span class="keywordtype">double</span> size[2];
<a name="l02597"></a>02597 
<a name="l02599"></a><a class="code" href="structplayerc__position1d__t.html#a299a7039abd250a579b3bf6ea29df76d">02599</a>   <span class="keywordtype">double</span> pos;
<a name="l02600"></a>02600 
<a name="l02602"></a><a class="code" href="structplayerc__position1d__t.html#a1671c311f00852d8589f25fb51118bae">02602</a>   <span class="keywordtype">double</span> vel;
<a name="l02603"></a>02603 
<a name="l02605"></a><a class="code" href="structplayerc__position1d__t.html#ae4b92ba1b009d60f897b9d10ee976e71">02605</a>   <span class="keywordtype">int</span> stall;
<a name="l02606"></a>02606 
<a name="l02618"></a><a class="code" href="structplayerc__position1d__t.html#a4b9ce32e8808a938091730363217d44e">02618</a>   <span class="keywordtype">int</span> status;
<a name="l02619"></a>02619 
<a name="l02620"></a>02620 } <a class="code" href="structplayerc__position1d__t.html" title="Position1d device data.">playerc_position1d_t</a>;
<a name="l02621"></a>02621 
<a name="l02623"></a>02623 PLAYERC_EXPORT <a class="code" href="structplayerc__position1d__t.html" title="Position1d device data.">playerc_position1d_t</a> *<a class="code" href="group__playerc__proxy__position1d.html#gae5f19ad22b3bd80ca526bb57af8e97d9" title="Create a position1d device proxy.">playerc_position1d_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client,
<a name="l02624"></a>02624                                                 <span class="keywordtype">int</span> index);
<a name="l02625"></a>02625 
<a name="l02627"></a>02627 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__position1d.html#gad759bcd30e76fe9a41472d98680805d3" title="Destroy a position1d device proxy.">playerc_position1d_destroy</a>(<a class="code" href="structplayerc__position1d__t.html" title="Position1d device data.">playerc_position1d_t</a> *device);
<a name="l02628"></a>02628 
<a name="l02630"></a>02630 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position1d.html#ga81111cc8b9f3bd0e141763e8a5392b59" title="Subscribe to the position1d device.">playerc_position1d_subscribe</a>(<a class="code" href="structplayerc__position1d__t.html" title="Position1d device data.">playerc_position1d_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l02631"></a>02631 
<a name="l02633"></a>02633 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position1d.html#gad99789bf53e604a085822399df7ce353" title="Un-subscribe from the position1d device.">playerc_position1d_unsubscribe</a>(<a class="code" href="structplayerc__position1d__t.html" title="Position1d device data.">playerc_position1d_t</a> *device);
<a name="l02634"></a>02634 
<a name="l02636"></a>02636 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position1d.html#ga7577b4dcb7f77596db442676bfce6d20" title="Enable/disable the motors.">playerc_position1d_enable</a>(<a class="code" href="structplayerc__position1d__t.html" title="Position1d device data.">playerc_position1d_t</a> *device, <span class="keywordtype">int</span> enable);
<a name="l02637"></a>02637 
<a name="l02640"></a>02640 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position1d.html#ga9d329fd512ccb16f50f130968e59cd1c" title="Get the position1d geometry.">playerc_position1d_get_geom</a>(<a class="code" href="structplayerc__position1d__t.html" title="Position1d device data.">playerc_position1d_t</a> *device);
<a name="l02641"></a>02641 
<a name="l02643"></a>02643 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position1d.html#ga2389199b76aad955d6f53b96f65ba702" title="Set the target speed.">playerc_position1d_set_cmd_vel</a>(<a class="code" href="structplayerc__position1d__t.html" title="Position1d device data.">playerc_position1d_t</a> *device,
<a name="l02644"></a>02644                                    <span class="keywordtype">double</span> vel, <span class="keywordtype">int</span> state);
<a name="l02645"></a>02645 
<a name="l02649"></a>02649 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position1d.html#ga0b15fd8ae79806ccf95b0d9c80f00f9a" title="Set the target position.">playerc_position1d_set_cmd_pos</a>(<a class="code" href="structplayerc__position1d__t.html" title="Position1d device data.">playerc_position1d_t</a> *device,
<a name="l02650"></a>02650                                    <span class="keywordtype">double</span> pos, <span class="keywordtype">int</span> state);
<a name="l02651"></a>02651 
<a name="l02656"></a>02656 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position1d.html#gacd8e574acafe4dbf838ac48a3834b29d" title="Set the target position with movement velocity -.">playerc_position1d_set_cmd_pos_with_vel</a>(<a class="code" href="structplayerc__position1d__t.html" title="Position1d device data.">playerc_position1d_t</a> *device,
<a name="l02657"></a>02657                                             <span class="keywordtype">double</span> pos, <span class="keywordtype">double</span> vel, <span class="keywordtype">int</span> state);
<a name="l02658"></a>02658 
<a name="l02660"></a>02660 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position1d.html#ga39c43814ddb7e1df841f3c1e67c85f1c" title="Set the odometry offset.">playerc_position1d_set_odom</a>(<a class="code" href="structplayerc__position1d__t.html" title="Position1d device data.">playerc_position1d_t</a> *device,
<a name="l02661"></a>02661                                 <span class="keywordtype">double</span> odom);
<a name="l02662"></a>02662 
<a name="l02664"></a>02664 <span class="comment">/**************************************************************************/</span>
<a name="l02665"></a>02665 
<a name="l02666"></a>02666 
<a name="l02667"></a>02667 <span class="comment">/***************************************************************************/</span>
<a name="l02681"></a><a class="code" href="structplayerc__position2d__t.html">02681</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l02682"></a>02682 {
<a name="l02684"></a><a class="code" href="structplayerc__position2d__t.html#a8ffba5d5204369787f5c12fd081a255a">02684</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l02685"></a>02685 
<a name="l02689"></a><a class="code" href="structplayerc__position2d__t.html#a07bbf85dd8954773c09332b89d1dac4f">02689</a>   <span class="keywordtype">double</span> pose[3];
<a name="l02690"></a>02690   <span class="keywordtype">double</span> size[2];
<a name="l02691"></a>02691 
<a name="l02693"></a><a class="code" href="structplayerc__position2d__t.html#aca329b6d5792b6f8cd8885cbdb561399">02693</a>   <span class="keywordtype">double</span> px, py, pa;
<a name="l02694"></a>02694 
<a name="l02696"></a><a class="code" href="structplayerc__position2d__t.html#a5a59bf0856cf63fde7854d010b3dee43">02696</a>   <span class="keywordtype">double</span> vx, vy, va;
<a name="l02697"></a>02697 
<a name="l02699"></a><a class="code" href="structplayerc__position2d__t.html#a8a90f80cdd5ce514da6d85571672b2f5">02699</a>   <span class="keywordtype">int</span> stall;
<a name="l02700"></a>02700 
<a name="l02701"></a>02701 } <a class="code" href="structplayerc__position2d__t.html" title="Position2d device data.">playerc_position2d_t</a>;
<a name="l02702"></a>02702 
<a name="l02704"></a>02704 PLAYERC_EXPORT <a class="code" href="structplayerc__position2d__t.html" title="Position2d device data.">playerc_position2d_t</a> *<a class="code" href="group__playerc__proxy__position2d.html#ga0b8289c7553743b1f3831f4049124b81" title="Create a position2d device proxy.">playerc_position2d_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client,
<a name="l02705"></a>02705                                                 <span class="keywordtype">int</span> index);
<a name="l02706"></a>02706 
<a name="l02708"></a>02708 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__position2d.html#gabd10aeac5c1e19c68f961366175d39b7" title="Destroy a position2d device proxy.">playerc_position2d_destroy</a>(<a class="code" href="structplayerc__position2d__t.html" title="Position2d device data.">playerc_position2d_t</a> *device);
<a name="l02709"></a>02709 
<a name="l02711"></a>02711 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position2d.html#ga50ece2507e09f428ce3f5eb34b3dbefc" title="Subscribe to the position2d device.">playerc_position2d_subscribe</a>(<a class="code" href="structplayerc__position2d__t.html" title="Position2d device data.">playerc_position2d_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l02712"></a>02712 
<a name="l02714"></a>02714 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position2d.html#ga87df17eb6764719e8120e5b60178ff91" title="Un-subscribe from the position2d device.">playerc_position2d_unsubscribe</a>(<a class="code" href="structplayerc__position2d__t.html" title="Position2d device data.">playerc_position2d_t</a> *device);
<a name="l02715"></a>02715 
<a name="l02717"></a>02717 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position2d.html#gac0e3128e65d8df3ff203a132a68aff5f" title="Enable/disable the motors.">playerc_position2d_enable</a>(<a class="code" href="structplayerc__position2d__t.html" title="Position2d device data.">playerc_position2d_t</a> *device, <span class="keywordtype">int</span> enable);
<a name="l02718"></a>02718 
<a name="l02721"></a>02721 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position2d.html#ga1966724cc7992243922adfa68b6f5496" title="Get the position2d geometry.">playerc_position2d_get_geom</a>(<a class="code" href="structplayerc__position2d__t.html" title="Position2d device data.">playerc_position2d_t</a> *device);
<a name="l02722"></a>02722 
<a name="l02727"></a>02727 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position2d.html#gacfe0eb89b6749e56e0c6ea3ab596b301" title="Set the target speed.">playerc_position2d_set_cmd_vel</a>(<a class="code" href="structplayerc__position2d__t.html" title="Position2d device data.">playerc_position2d_t</a> *device,
<a name="l02728"></a>02728                                    <span class="keywordtype">double</span> vx, <span class="keywordtype">double</span> vy, <span class="keywordtype">double</span> va, <span class="keywordtype">int</span> state);
<a name="l02729"></a>02729 
<a name="l02731"></a>02731 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position2d.html#gaeeca39c0332d48af7bd3928570682ab6" title="Set the target pose with given motion vel.">playerc_position2d_set_cmd_pose_with_vel</a>(<a class="code" href="structplayerc__position2d__t.html" title="Position2d device data.">playerc_position2d_t</a> *device,
<a name="l02732"></a>02732                                              <a class="code" href="structplayer__pose2d.html" title="A pose in the plane.">player_pose2d_t</a> pos,
<a name="l02733"></a>02733                                              <a class="code" href="structplayer__pose2d.html" title="A pose in the plane.">player_pose2d_t</a> vel,
<a name="l02734"></a>02734                                              <span class="keywordtype">int</span> state);
<a name="l02735"></a>02735 
<a name="l02740"></a>02740 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position2d.html#ga5b200c95fa17c6c2e93057ab9643e549" title="Set the target speed and heading.">playerc_position2d_set_cmd_vel_head</a>(<a class="code" href="structplayerc__position2d__t.html" title="Position2d device data.">playerc_position2d_t</a> *device,
<a name="l02741"></a>02741                                    <span class="keywordtype">double</span> vx, <span class="keywordtype">double</span> vy, <span class="keywordtype">double</span> pa, <span class="keywordtype">int</span> state);
<a name="l02742"></a>02742 
<a name="l02743"></a>02743 
<a name="l02744"></a>02744 
<a name="l02747"></a>02747 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position2d.html#gaf03501b9ae666e512852516c5159fad1" title="Set the target pose (gx, gy, ga) is the target pose in the odometric coordinate system.">playerc_position2d_set_cmd_pose</a>(<a class="code" href="structplayerc__position2d__t.html" title="Position2d device data.">playerc_position2d_t</a> *device,
<a name="l02748"></a>02748                                     <span class="keywordtype">double</span> gx, <span class="keywordtype">double</span> gy, <span class="keywordtype">double</span> ga, <span class="keywordtype">int</span> state);
<a name="l02749"></a>02749 
<a name="l02751"></a>02751 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position2d.html#ga0ce3464f69ae6fabd74b8a142399de77" title="Set the target cmd for car like position.">playerc_position2d_set_cmd_car</a>(<a class="code" href="structplayerc__position2d__t.html" title="Position2d device data.">playerc_position2d_t</a> *device,
<a name="l02752"></a>02752                                     <span class="keywordtype">double</span> vx, <span class="keywordtype">double</span> a);
<a name="l02753"></a>02753 
<a name="l02755"></a>02755 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position2d.html#ga5434514aa5f2de21fb4774d42db86edc" title="Set the odometry offset.">playerc_position2d_set_odom</a>(<a class="code" href="structplayerc__position2d__t.html" title="Position2d device data.">playerc_position2d_t</a> *device,
<a name="l02756"></a>02756                                 <span class="keywordtype">double</span> ox, <span class="keywordtype">double</span> oy, <span class="keywordtype">double</span> oa);
<a name="l02757"></a>02757 
<a name="l02759"></a>02759 <span class="comment">/**************************************************************************/</span>
<a name="l02760"></a>02760 
<a name="l02761"></a>02761 <span class="comment">/***************************************************************************/</span>
<a name="l02776"></a><a class="code" href="structplayerc__position3d__t.html">02776</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l02777"></a>02777 {
<a name="l02779"></a><a class="code" href="structplayerc__position3d__t.html#a0afaebddbc31fdefe77e606da22ec52d">02779</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l02780"></a>02780 
<a name="l02784"></a><a class="code" href="structplayerc__position3d__t.html#a77a1eb674652ef022b99b93e14b4d8c3">02784</a>   <span class="keywordtype">double</span> pose[3];
<a name="l02785"></a>02785   <span class="keywordtype">double</span> size[2];
<a name="l02786"></a>02786 
<a name="l02788"></a><a class="code" href="structplayerc__position3d__t.html#aa87015a8f76541ee653d06911a30b366">02788</a>   <span class="keywordtype">double</span> pos_x, pos_y, pos_z;
<a name="l02789"></a>02789 
<a name="l02791"></a><a class="code" href="structplayerc__position3d__t.html#a591e4cfdb1807f690289d51d0d1e18c5">02791</a>   <span class="keywordtype">double</span> pos_roll, pos_pitch, pos_yaw;
<a name="l02792"></a>02792 
<a name="l02794"></a><a class="code" href="structplayerc__position3d__t.html#adb9c2fb28d555f23c30f9d59eb073050">02794</a>   <span class="keywordtype">double</span> vel_x, vel_y, vel_z;
<a name="l02795"></a>02795 
<a name="l02797"></a><a class="code" href="structplayerc__position3d__t.html#a246fcdf0c40d5b8706df582bc830d6a3">02797</a>   <span class="keywordtype">double</span> vel_roll, vel_pitch, vel_yaw;
<a name="l02798"></a>02798 
<a name="l02800"></a><a class="code" href="structplayerc__position3d__t.html#acce4a2ff70bc6c28ba000c6a537a772e">02800</a>   <span class="keywordtype">int</span> stall;
<a name="l02801"></a>02801 
<a name="l02802"></a>02802 } <a class="code" href="structplayerc__position3d__t.html" title="Position3d device data.">playerc_position3d_t</a>;
<a name="l02803"></a>02803 
<a name="l02804"></a>02804 
<a name="l02806"></a>02806 PLAYERC_EXPORT <a class="code" href="structplayerc__position3d__t.html" title="Position3d device data.">playerc_position3d_t</a> *<a class="code" href="group__playerc__proxy__position3d.html#ga88b82d1c3825e7101c50cae6123a7235" title="Create a position3d device proxy.">playerc_position3d_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client,
<a name="l02807"></a>02807                                                 <span class="keywordtype">int</span> index);
<a name="l02808"></a>02808 
<a name="l02810"></a>02810 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__position3d.html#gaf6186315ae05dd1eceadb3c3640d5481" title="Destroy a position3d device proxy.">playerc_position3d_destroy</a>(<a class="code" href="structplayerc__position3d__t.html" title="Position3d device data.">playerc_position3d_t</a> *device);
<a name="l02811"></a>02811 
<a name="l02813"></a>02813 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position3d.html#ga54075b8c46111a960b01e7b3b9f620c9" title="Subscribe to the position3d device.">playerc_position3d_subscribe</a>(<a class="code" href="structplayerc__position3d__t.html" title="Position3d device data.">playerc_position3d_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l02814"></a>02814 
<a name="l02816"></a>02816 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position3d.html#ga1cab8f5d80e8e2f32ec64762ece59229" title="Un-subscribe from the position3d device.">playerc_position3d_unsubscribe</a>(<a class="code" href="structplayerc__position3d__t.html" title="Position3d device data.">playerc_position3d_t</a> *device);
<a name="l02817"></a>02817 
<a name="l02819"></a>02819 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position3d.html#gac009dfb2098b8f10a5b210427dc16255" title="Enable/disable the motors.">playerc_position3d_enable</a>(<a class="code" href="structplayerc__position3d__t.html" title="Position3d device data.">playerc_position3d_t</a> *device, <span class="keywordtype">int</span> enable);
<a name="l02820"></a>02820 
<a name="l02823"></a>02823 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position3d.html#ga4a7b4cef5f6a3f5ed21cae5edf252687" title="Get the position3d geometry.">playerc_position3d_get_geom</a>(<a class="code" href="structplayerc__position3d__t.html" title="Position3d device data.">playerc_position3d_t</a> *device);
<a name="l02824"></a>02824 
<a name="l02829"></a>02829 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position3d.html#ga721bf413221c5b6a17ab2bdbf34bc21e" title="Set the target speed.">playerc_position3d_set_velocity</a>(<a class="code" href="structplayerc__position3d__t.html" title="Position3d device data.">playerc_position3d_t</a> *device,
<a name="l02830"></a>02830                                     <span class="keywordtype">double</span> vx, <span class="keywordtype">double</span> vy, <span class="keywordtype">double</span> vz,
<a name="l02831"></a>02831                                     <span class="keywordtype">double</span> vr, <span class="keywordtype">double</span> vp, <span class="keywordtype">double</span> vt,
<a name="l02832"></a>02832                                     <span class="keywordtype">int</span> state);
<a name="l02833"></a>02833 
<a name="l02835"></a>02835 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position3d.html#gaf5cdcd460a0b75cbd2bf20de589eb096" title="For compatibility with old position3d interface.">playerc_position3d_set_speed</a>(<a class="code" href="structplayerc__position3d__t.html" title="Position3d device data.">playerc_position3d_t</a> *device,
<a name="l02836"></a>02836                                  <span class="keywordtype">double</span> vx, <span class="keywordtype">double</span> vy, <span class="keywordtype">double</span> vz, <span class="keywordtype">int</span> state);
<a name="l02837"></a>02837 
<a name="l02840"></a>02840 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position3d.html#gae0994a60ce9dfde240c531ef9e601ef0" title="Set the target pose (gx, gy, ga, gr, gp, gt) is the target pose in the odometric coordinate system...">playerc_position3d_set_pose</a>(<a class="code" href="structplayerc__position3d__t.html" title="Position3d device data.">playerc_position3d_t</a> *device,
<a name="l02841"></a>02841                                 <span class="keywordtype">double</span> gx, <span class="keywordtype">double</span> gy, <span class="keywordtype">double</span> gz,
<a name="l02842"></a>02842                                 <span class="keywordtype">double</span> gr, <span class="keywordtype">double</span> gp, <span class="keywordtype">double</span> gt);
<a name="l02843"></a>02843 
<a name="l02844"></a>02844 
<a name="l02846"></a>02846 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position3d.html#ga6d178d2ce603b1560c8ce2710eb31320" title="Set the target pose (pos,vel) define desired position and motion speed.">playerc_position3d_set_pose_with_vel</a>(<a class="code" href="structplayerc__position3d__t.html" title="Position3d device data.">playerc_position3d_t</a> *device,
<a name="l02847"></a>02847                                          <a class="code" href="structplayer__pose3d.html" title="A pose in space.">player_pose3d_t</a> pos,
<a name="l02848"></a>02848                                          <a class="code" href="structplayer__pose3d.html" title="A pose in space.">player_pose3d_t</a> vel);
<a name="l02849"></a>02849 
<a name="l02851"></a>02851 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position3d.html#gaf588237d07cfdf36d0052afcfcfcbfc8" title="For compatibility with old position3d interface.">playerc_position3d_set_cmd_pose</a>(<a class="code" href="structplayerc__position3d__t.html" title="Position3d device data.">playerc_position3d_t</a> *device,
<a name="l02852"></a>02852                                     <span class="keywordtype">double</span> gx, <span class="keywordtype">double</span> gy, <span class="keywordtype">double</span> gz);
<a name="l02853"></a>02853 
<a name="l02855"></a>02855 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position3d.html#ga0d7c8a85f6229694540ae7f3717a0b46" title="Set the velocity mode.">playerc_position3d_set_vel_mode</a>(<a class="code" href="structplayerc__position3d__t.html" title="Position3d device data.">playerc_position3d_t</a> *device, <span class="keywordtype">int</span> mode);
<a name="l02856"></a>02856 
<a name="l02858"></a>02858 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position3d.html#ga878d8947eebd259819ca5e5b2dced69c" title="Set the odometry offset.">playerc_position3d_set_odom</a>(<a class="code" href="structplayerc__position3d__t.html" title="Position3d device data.">playerc_position3d_t</a> *device,
<a name="l02859"></a>02859                                 <span class="keywordtype">double</span> ox, <span class="keywordtype">double</span> oy, <span class="keywordtype">double</span> oz,
<a name="l02860"></a>02860                                 <span class="keywordtype">double</span> oroll, <span class="keywordtype">double</span> opitch, <span class="keywordtype">double</span> oyaw);
<a name="l02861"></a>02861 
<a name="l02863"></a>02863 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__position3d.html#ga53e15487bd8fa6769f5531b30acf19af" title="Reset the odometry offset.">playerc_position3d_reset_odom</a>(<a class="code" href="structplayerc__position3d__t.html" title="Position3d device data.">playerc_position3d_t</a> *device);
<a name="l02864"></a>02864 
<a name="l02866"></a>02866 <span class="comment">/**************************************************************************/</span>
<a name="l02867"></a>02867 
<a name="l02868"></a>02868 
<a name="l02869"></a>02869 <span class="comment">/***************************************************************************/</span>
<a name="l02880"></a><a class="code" href="structplayerc__power__t.html">02880</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l02881"></a>02881 {
<a name="l02883"></a><a class="code" href="structplayerc__power__t.html#a0df26439106b6ec8606d8ce662e03ca4">02883</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l02884"></a>02884 
<a name="l02887"></a><a class="code" href="structplayerc__power__t.html#a008a3eb2fd42f31db017353df0fbad33">02887</a>   <span class="keywordtype">int</span> valid;
<a name="l02888"></a>02888 
<a name="l02890"></a><a class="code" href="structplayerc__power__t.html#a41a173e95820ed515d4b02e89379f24c">02890</a>   <span class="keywordtype">double</span> charge;
<a name="l02891"></a>02891 
<a name="l02893"></a><a class="code" href="structplayerc__power__t.html#a39e6c44ce6a99e56e7f560347628bf31">02893</a>   <span class="keywordtype">double</span> percent;
<a name="l02894"></a>02894 
<a name="l02896"></a><a class="code" href="structplayerc__power__t.html#a9e15e654d74bd040348c9e4c5cc26b57">02896</a>   <span class="keywordtype">double</span> joules;
<a name="l02897"></a>02897 
<a name="l02900"></a><a class="code" href="structplayerc__power__t.html#a274596c0686e1843619440f0b6e27a7d">02900</a>   <span class="keywordtype">double</span> watts;
<a name="l02901"></a>02901 
<a name="l02903"></a><a class="code" href="structplayerc__power__t.html#a89f41db545d02ffd6aaaeccea18daee7">02903</a>   <span class="keywordtype">int</span> charging;
<a name="l02904"></a>02904 
<a name="l02905"></a>02905 } <a class="code" href="structplayerc__power__t.html" title="Power device data.">playerc_power_t</a>;
<a name="l02906"></a>02906 
<a name="l02907"></a>02907 
<a name="l02909"></a>02909 PLAYERC_EXPORT <a class="code" href="structplayerc__power__t.html" title="Power device data.">playerc_power_t</a> *<a class="code" href="group__playerc__proxy__power.html#ga5be5057300ed634b001971ebb636b29e" title="Create a power device proxy.">playerc_power_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l02910"></a>02910 
<a name="l02912"></a>02912 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__power.html#gabc66b287f5d172757c9b6b92c8fb804e" title="Destroy a power device proxy.">playerc_power_destroy</a>(<a class="code" href="structplayerc__power__t.html" title="Power device data.">playerc_power_t</a> *device);
<a name="l02913"></a>02913 
<a name="l02915"></a>02915 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__power.html#ga093ea82bd598f872ae0c57be950e6c20" title="Subscribe to the power device.">playerc_power_subscribe</a>(<a class="code" href="structplayerc__power__t.html" title="Power device data.">playerc_power_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l02916"></a>02916 
<a name="l02918"></a>02918 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__power.html#gaf58b9317396c770fde2c736208f67bb7" title="Un-subscribe from the power device.">playerc_power_unsubscribe</a>(<a class="code" href="structplayerc__power__t.html" title="Power device data.">playerc_power_t</a> *device);
<a name="l02919"></a>02919 
<a name="l02920"></a>02920 
<a name="l02922"></a>02922 <span class="comment">/**************************************************************************/</span>
<a name="l02923"></a>02923 
<a name="l02924"></a>02924 
<a name="l02925"></a>02925 
<a name="l02926"></a>02926 <span class="comment">/***************************************************************************/</span>
<a name="l02937"></a><a class="code" href="structplayerc__ptz__t.html">02937</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l02938"></a>02938 {
<a name="l02940"></a><a class="code" href="structplayerc__ptz__t.html#a5c5a797837c65bc91191c0650246678c">02940</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l02941"></a>02941 
<a name="l02945"></a><a class="code" href="structplayerc__ptz__t.html#ab7ac50300767b961fb559668d9617763">02945</a>   <span class="keywordtype">double</span> pan, tilt;
<a name="l02946"></a>02946 
<a name="l02948"></a><a class="code" href="structplayerc__ptz__t.html#a87263b3d7ed0b53b450e0695b13d6b1f">02948</a>   <span class="keywordtype">double</span> zoom;
<a name="l02949"></a>02949 
<a name="l02951"></a><a class="code" href="structplayerc__ptz__t.html#a2f457fe020e47a7f0f2f4a3e39454f8c">02951</a>   <span class="keywordtype">int</span> status;
<a name="l02952"></a>02952 } <a class="code" href="structplayerc__ptz__t.html" title="PTZ device data.">playerc_ptz_t</a>;
<a name="l02953"></a>02953 
<a name="l02954"></a>02954 
<a name="l02956"></a>02956 PLAYERC_EXPORT <a class="code" href="structplayerc__ptz__t.html" title="PTZ device data.">playerc_ptz_t</a> *<a class="code" href="group__playerc__proxy__ptz.html#gaf6277137a1c665aabd3f827f067afee1" title="Create a ptz proxy.">playerc_ptz_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l02957"></a>02957 
<a name="l02959"></a>02959 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__ptz.html#ga88b62df887f7adc890f0c594894b1cc1" title="Destroy a ptz proxy.">playerc_ptz_destroy</a>(<a class="code" href="structplayerc__ptz__t.html" title="PTZ device data.">playerc_ptz_t</a> *device);
<a name="l02960"></a>02960 
<a name="l02962"></a>02962 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__ptz.html#gaa9922db98d38338756b07508b7f3ff87" title="Subscribe to the ptz device.">playerc_ptz_subscribe</a>(<a class="code" href="structplayerc__ptz__t.html" title="PTZ device data.">playerc_ptz_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l02963"></a>02963 
<a name="l02965"></a>02965 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__ptz.html#ga71507cfec4a1ddc9c8fdfbe4f474fb47" title="Un-subscribe from the ptz device.">playerc_ptz_unsubscribe</a>(<a class="code" href="structplayerc__ptz__t.html" title="PTZ device data.">playerc_ptz_t</a> *device);
<a name="l02966"></a>02966 
<a name="l02975"></a>02975 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__ptz.html#ga5f89fff9e67ca27e8726b27a3c22f1e6" title="Set the pan, tilt and zoom values.">playerc_ptz_set</a>(<a class="code" href="structplayerc__ptz__t.html" title="PTZ device data.">playerc_ptz_t</a> *device, <span class="keywordtype">double</span> pan, <span class="keywordtype">double</span> tilt, <span class="keywordtype">double</span> zoom);
<a name="l02976"></a>02976 
<a name="l02982"></a>02982 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__ptz.html#ga5948a4aa3a4fab90c8a20498a89ecf99" title="Query the pan and tilt status.">playerc_ptz_query_status</a>(<a class="code" href="structplayerc__ptz__t.html" title="PTZ device data.">playerc_ptz_t</a> *device);
<a name="l02983"></a>02983 
<a name="l02994"></a>02994 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__ptz.html#ga4c9ed1600bffd20df2c7ab3cdc52e292" title="Set the pan, tilt and zoom values (and speed).">playerc_ptz_set_ws</a>(<a class="code" href="structplayerc__ptz__t.html" title="PTZ device data.">playerc_ptz_t</a> *device, <span class="keywordtype">double</span> pan, <span class="keywordtype">double</span> tilt, <span class="keywordtype">double</span> zoom,
<a name="l02995"></a>02995                        <span class="keywordtype">double</span> panspeed, <span class="keywordtype">double</span> tiltspeed);
<a name="l02996"></a>02996 
<a name="l03004"></a>03004 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__ptz.html#gafcfb492780ab3a4b0410ccfe9205f49c" title="Change control mode (select velocity or position control).">playerc_ptz_set_control_mode</a>(<a class="code" href="structplayerc__ptz__t.html" title="PTZ device data.">playerc_ptz_t</a> *device, <span class="keywordtype">int</span> mode);
<a name="l03005"></a>03005 
<a name="l03007"></a>03007 <span class="comment">/**************************************************************************/</span>
<a name="l03008"></a>03008 
<a name="l03009"></a>03009 <span class="comment">/***************************************************************************/</span>
<a name="l03019"></a><a class="code" href="structplayerc__ranger__t.html">03019</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03020"></a>03020 {
<a name="l03022"></a><a class="code" href="structplayerc__ranger__t.html#ada751a3b649345727d90550b0e45c6a3">03022</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l03023"></a>03023 
<a name="l03025"></a><a class="code" href="structplayerc__ranger__t.html#a06fffabe29d16a0d0ace87f58037e86f">03025</a>   uint32_t element_count;
<a name="l03026"></a>03026 
<a name="l03028"></a><a class="code" href="structplayerc__ranger__t.html#af0f3c58222d0cef9607595cb8ed9a173">03028</a>   <span class="keywordtype">double</span> min_angle;
<a name="l03030"></a><a class="code" href="structplayerc__ranger__t.html#a4d061f988d0d8e9e67e88b4cfaf7ca7a">03030</a>   <span class="keywordtype">double</span> max_angle;
<a name="l03032"></a><a class="code" href="structplayerc__ranger__t.html#aa6a35ee7cf955ee4f59094c26fd1571f">03032</a>   <span class="keywordtype">double</span> angular_res;
<a name="l03035"></a><a class="code" href="structplayerc__ranger__t.html#a9967c1e3e6465bcc94e0cbf9c665b53d">03035</a>   <span class="keywordtype">double</span> min_range;
<a name="l03037"></a><a class="code" href="structplayerc__ranger__t.html#a4c2e8cc8104e0176c0accefb95134f8b">03037</a>   <span class="keywordtype">double</span> max_range;
<a name="l03039"></a><a class="code" href="structplayerc__ranger__t.html#a25ede84aa73b54d28d7a91a529119330">03039</a>   <span class="keywordtype">double</span> range_res;
<a name="l03041"></a><a class="code" href="structplayerc__ranger__t.html#ae45e76be4545b91522b5c90d338fe1be">03041</a>   <span class="keywordtype">double</span> frequency;
<a name="l03042"></a>03042 
<a name="l03046"></a><a class="code" href="structplayerc__ranger__t.html#a0dbc99325672bfbe8959754dc1e73669">03046</a>   <a class="code" href="structplayer__pose3d.html" title="A pose in space.">player_pose3d_t</a> device_pose;
<a name="l03047"></a>03047   <a class="code" href="structplayer__bbox3d.html" title="A rectangular bounding box, used to define the size of an object.">player_bbox3d_t</a> device_size;
<a name="l03051"></a><a class="code" href="structplayerc__ranger__t.html#a15fd78dcbdf80a7f6e864f8f80cf8733">03051</a>   <a class="code" href="structplayer__pose3d.html" title="A pose in space.">player_pose3d_t</a> *element_poses;
<a name="l03052"></a>03052   <a class="code" href="structplayer__bbox3d.html" title="A rectangular bounding box, used to define the size of an object.">player_bbox3d_t</a> *element_sizes;
<a name="l03053"></a>03053 
<a name="l03055"></a><a class="code" href="structplayerc__ranger__t.html#a85f33c6bbaca7d39f3b7eb027e6311c6">03055</a>   uint32_t ranges_count;
<a name="l03057"></a><a class="code" href="structplayerc__ranger__t.html#ac97e4edd33c9833922feb88f6538af58">03057</a>   <span class="keywordtype">double</span> *ranges;
<a name="l03058"></a>03058 
<a name="l03060"></a><a class="code" href="structplayerc__ranger__t.html#a02d6a6b5d92a1e4df8ab7ae1191901e7">03060</a>   uint32_t intensities_count;
<a name="l03064"></a><a class="code" href="structplayerc__ranger__t.html#a1291e818a76e5c3f10efadf695ff8958">03064</a>   <span class="keywordtype">double</span> *intensities;
<a name="l03065"></a>03065 
<a name="l03067"></a><a class="code" href="structplayerc__ranger__t.html#a31948ea757021c560f9af7daf9ff9a6c">03067</a>   uint32_t bearings_count;
<a name="l03070"></a><a class="code" href="structplayerc__ranger__t.html#a5f2fda6abe330366473f828050622fe6">03070</a>   <span class="keywordtype">double</span> *bearings;
<a name="l03071"></a>03071 
<a name="l03073"></a><a class="code" href="structplayerc__ranger__t.html#a70c524f347f8d3cb0e3086d962de2ad9">03073</a>   uint32_t points_count;
<a name="l03075"></a><a class="code" href="structplayerc__ranger__t.html#a38b081726c3cd0d03aa7b9efde636b85">03075</a>   <a class="code" href="structplayer__point__3d.html" title="A point in 3D space.">player_point_3d_t</a> *points;
<a name="l03076"></a>03076 
<a name="l03077"></a>03077 } <a class="code" href="structplayerc__ranger__t.html" title="Ranger proxy data.">playerc_ranger_t</a>;
<a name="l03078"></a>03078 
<a name="l03080"></a>03080 PLAYERC_EXPORT <a class="code" href="structplayerc__ranger__t.html" title="Ranger proxy data.">playerc_ranger_t</a> *<a class="code" href="group__playerc__proxy__ranger.html#gad5d5d20890aa6b2e4ce16cfb85b4b55c" title="Create a ranger proxy.">playerc_ranger_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l03081"></a>03081 
<a name="l03083"></a>03083 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__ranger.html#gaa39398576a62825eb086948ed0c3ac7f" title="Destroy a ranger proxy.">playerc_ranger_destroy</a>(<a class="code" href="structplayerc__ranger__t.html" title="Ranger proxy data.">playerc_ranger_t</a> *device);
<a name="l03084"></a>03084 
<a name="l03086"></a>03086 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__ranger.html#ga337ab846f6b98d65f268f6d287656c63" title="Subscribe to the ranger device.">playerc_ranger_subscribe</a>(<a class="code" href="structplayerc__ranger__t.html" title="Ranger proxy data.">playerc_ranger_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l03087"></a>03087 
<a name="l03089"></a>03089 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__ranger.html#ga06fb9e09bc38ed25c8d745ce1a6e5ffb" title="Un-subscribe from the ranger device.">playerc_ranger_unsubscribe</a>(<a class="code" href="structplayerc__ranger__t.html" title="Ranger proxy data.">playerc_ranger_t</a> *device);
<a name="l03090"></a>03090 
<a name="l03095"></a>03095 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__ranger.html#gaaa3d6390fd729ab3bc34fa959c2c08f4" title="Get the ranger geometry.">playerc_ranger_get_geom</a>(<a class="code" href="structplayerc__ranger__t.html" title="Ranger proxy data.">playerc_ranger_t</a> *device);
<a name="l03096"></a>03096 
<a name="l03100"></a>03100 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__ranger.html#gab5d16ad12d9dc4a1605ffb6bfcc0777e" title="Turn device power on or off.">playerc_ranger_power_config</a>(<a class="code" href="structplayerc__ranger__t.html" title="Ranger proxy data.">playerc_ranger_t</a> *device, uint8_t value);
<a name="l03101"></a>03101 
<a name="l03105"></a>03105 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__ranger.html#gacabf1e996d87301db71169193e33f790" title="Turn intensity data on or off.">playerc_ranger_intns_config</a>(<a class="code" href="structplayerc__ranger__t.html" title="Ranger proxy data.">playerc_ranger_t</a> *device, uint8_t value);
<a name="l03106"></a>03106 
<a name="l03115"></a>03115 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__ranger.html#ga67eae6980596637b16d3f37face13e43" title="Set the ranger device&amp;#39;s configuration.">playerc_ranger_set_config</a>(<a class="code" href="structplayerc__ranger__t.html" title="Ranger proxy data.">playerc_ranger_t</a> *device, <span class="keywordtype">double</span> min_angle,
<a name="l03116"></a>03116                               <span class="keywordtype">double</span> max_angle, <span class="keywordtype">double</span> angular_res,
<a name="l03117"></a>03117                               <span class="keywordtype">double</span> min_range, <span class="keywordtype">double</span> max_range,
<a name="l03118"></a>03118                               <span class="keywordtype">double</span> range_res, <span class="keywordtype">double</span> frequency);
<a name="l03119"></a>03119 
<a name="l03128"></a>03128 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__ranger.html#ga0fda8ec158f2d88c9f2cb8249b07f386" title="Get the ranger device&amp;#39;s configuration.">playerc_ranger_get_config</a>(<a class="code" href="structplayerc__ranger__t.html" title="Ranger proxy data.">playerc_ranger_t</a> *device, <span class="keywordtype">double</span> *min_angle,
<a name="l03129"></a>03129                               <span class="keywordtype">double</span> *max_angle, <span class="keywordtype">double</span> *angular_res,
<a name="l03130"></a>03130                               <span class="keywordtype">double</span> *min_range, <span class="keywordtype">double</span> *max_range,
<a name="l03131"></a>03131                               <span class="keywordtype">double</span> *range_res, <span class="keywordtype">double</span> *frequency);
<a name="l03132"></a>03132 
<a name="l03134"></a>03134 <span class="comment">/**************************************************************************/</span>
<a name="l03135"></a>03135 
<a name="l03136"></a>03136 <span class="comment">/***************************************************************************/</span>
<a name="l03147"></a><a class="code" href="structplayerc__sonar__t.html">03147</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03148"></a>03148 {
<a name="l03150"></a><a class="code" href="structplayerc__sonar__t.html#aa05175a325846ac038e81ea774c8967b">03150</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l03151"></a>03151 
<a name="l03153"></a><a class="code" href="structplayerc__sonar__t.html#a7bcb04e8a26f97f465f4adfc4d53c871">03153</a>   <span class="keywordtype">int</span> pose_count;
<a name="l03154"></a>03154 
<a name="l03157"></a><a class="code" href="structplayerc__sonar__t.html#a8ffdb8b8541610db8fdccf12ee6e5d80">03157</a>   <a class="code" href="structplayer__pose3d.html" title="A pose in space.">player_pose3d_t</a> *poses;
<a name="l03158"></a>03158 
<a name="l03160"></a><a class="code" href="structplayerc__sonar__t.html#a02ae3f3d36c98059950c6c58dcdd585c">03160</a>   <span class="keywordtype">int</span> scan_count;
<a name="l03161"></a>03161 
<a name="l03163"></a><a class="code" href="structplayerc__sonar__t.html#ac25c973ba543dff4db31a63762916598">03163</a>   <span class="keywordtype">double</span> *scan;
<a name="l03164"></a>03164 
<a name="l03165"></a>03165 } <a class="code" href="structplayerc__sonar__t.html" title="Sonar proxy data.">playerc_sonar_t</a>;
<a name="l03166"></a>03166 
<a name="l03167"></a>03167 
<a name="l03169"></a>03169 PLAYERC_EXPORT <a class="code" href="structplayerc__sonar__t.html" title="Sonar proxy data.">playerc_sonar_t</a> *<a class="code" href="group__playerc__proxy__sonar.html#gaf704161796e23afe147d8999e2719e5f" title="Create a sonar proxy.">playerc_sonar_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l03170"></a>03170 
<a name="l03172"></a>03172 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__sonar.html#ga4767ecc40509c4510561b67b371f91a7" title="Destroy a sonar proxy.">playerc_sonar_destroy</a>(<a class="code" href="structplayerc__sonar__t.html" title="Sonar proxy data.">playerc_sonar_t</a> *device);
<a name="l03173"></a>03173 
<a name="l03175"></a>03175 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__sonar.html#ga7645be4d51a976197c97677499afd08d" title="Subscribe to the sonar device.">playerc_sonar_subscribe</a>(<a class="code" href="structplayerc__sonar__t.html" title="Sonar proxy data.">playerc_sonar_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l03176"></a>03176 
<a name="l03178"></a>03178 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__sonar.html#ga44e7c6b2929ce920059be6d0e510da24" title="Un-subscribe from the sonar device.">playerc_sonar_unsubscribe</a>(<a class="code" href="structplayerc__sonar__t.html" title="Sonar proxy data.">playerc_sonar_t</a> *device);
<a name="l03179"></a>03179 
<a name="l03185"></a>03185 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__sonar.html#gaf901d93d7c29b1444e512de550579c74" title="Get the sonar geometry.">playerc_sonar_get_geom</a>(<a class="code" href="structplayerc__sonar__t.html" title="Sonar proxy data.">playerc_sonar_t</a> *device);
<a name="l03186"></a>03186 
<a name="l03188"></a>03188 <span class="comment">/**************************************************************************/</span>
<a name="l03189"></a>03189 
<a name="l03190"></a>03190 <span class="comment">/***************************************************************************/</span>
<a name="l03202"></a><a class="code" href="structplayerc__wifi__link__t.html">03202</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03203"></a>03203 {
<a name="l03205"></a><a class="code" href="structplayerc__wifi__link__t.html#ac6e47494b2578870d9b2890e52ba3132">03205</a>   uint8_t mac[32];
<a name="l03206"></a>03206 
<a name="l03208"></a><a class="code" href="structplayerc__wifi__link__t.html#a1f002cf76b8219c70a0df8b9bc841334">03208</a>   uint8_t ip[32];
<a name="l03209"></a>03209 
<a name="l03211"></a><a class="code" href="structplayerc__wifi__link__t.html#af4382e1bae79c8e2876ee4552bcf134f">03211</a>   uint8_t essid[32];
<a name="l03212"></a>03212 
<a name="l03214"></a><a class="code" href="structplayerc__wifi__link__t.html#a42ba550ca3c46257b83d6ddbcb34bca3">03214</a>   <span class="keywordtype">int</span> mode;
<a name="l03215"></a>03215 
<a name="l03217"></a><a class="code" href="structplayerc__wifi__link__t.html#ae941e6ba9b59bc874ef827814e955a8d">03217</a>   <span class="keywordtype">int</span> encrypt;
<a name="l03218"></a>03218 
<a name="l03220"></a><a class="code" href="structplayerc__wifi__link__t.html#a277972a7b34e711203b18f04582ec5cc">03220</a>   <span class="keywordtype">double</span> freq;
<a name="l03221"></a>03221 
<a name="l03223"></a><a class="code" href="structplayerc__wifi__link__t.html#a50c4c70d7fa69748592af6dc3fbedc74">03223</a>   <span class="keywordtype">int</span> qual, level, noise;
<a name="l03224"></a>03224 
<a name="l03225"></a>03225 } <a class="code" href="structplayerc__wifi__link__t.html" title="Individual link info.">playerc_wifi_link_t</a>;
<a name="l03226"></a>03226 
<a name="l03227"></a>03227 
<a name="l03229"></a><a class="code" href="structplayerc__wifi__t.html">03229</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03230"></a>03230 {
<a name="l03232"></a><a class="code" href="structplayerc__wifi__t.html#a239746d679683a19d785f3055dec452f">03232</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l03233"></a>03233 
<a name="l03235"></a><a class="code" href="structplayerc__wifi__t.html#ab2e2251075dd9b911c58d1c7e7f493a3">03235</a>   <a class="code" href="structplayerc__wifi__link__t.html" title="Individual link info.">playerc_wifi_link_t</a> *links;
<a name="l03236"></a>03236   <span class="keywordtype">int</span> link_count;
<a name="l03237"></a>03237   <span class="keywordtype">char</span> ip[32];
<a name="l03238"></a>03238 } <a class="code" href="structplayerc__wifi__t.html" title="Wifi device proxy.">playerc_wifi_t</a>;
<a name="l03239"></a>03239 
<a name="l03240"></a>03240 
<a name="l03242"></a>03242 PLAYERC_EXPORT <a class="code" href="structplayerc__wifi__t.html" title="Wifi device proxy.">playerc_wifi_t</a> *<a class="code" href="group__playerc__proxy__wifi.html#ga36d569def08d399e0804370006b6f8e9" title="Create a wifi proxy.">playerc_wifi_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l03243"></a>03243 
<a name="l03245"></a>03245 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__wifi.html#ga65b2a5bd096588a08d4b4a49be494400" title="Destroy a wifi proxy.">playerc_wifi_destroy</a>(<a class="code" href="structplayerc__wifi__t.html" title="Wifi device proxy.">playerc_wifi_t</a> *device);
<a name="l03246"></a>03246 
<a name="l03248"></a>03248 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__wifi.html#gafe3f511f1ff1e7d4a40306062d4f725c" title="Subscribe to the wifi device.">playerc_wifi_subscribe</a>(<a class="code" href="structplayerc__wifi__t.html" title="Wifi device proxy.">playerc_wifi_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l03249"></a>03249 
<a name="l03251"></a>03251 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__wifi.html#ga9758fbcb23aef24aef89c6d0c56c8e29" title="Un-subscribe from the wifi device.">playerc_wifi_unsubscribe</a>(<a class="code" href="structplayerc__wifi__t.html" title="Wifi device proxy.">playerc_wifi_t</a> *device);
<a name="l03252"></a>03252 
<a name="l03254"></a>03254 PLAYERC_EXPORT <a class="code" href="structplayerc__wifi__link__t.html" title="Individual link info.">playerc_wifi_link_t</a> *<a class="code" href="group__playerc__proxy__wifi.html#gaa40329751a402890088febe4c7d6ea34" title="Get link state.">playerc_wifi_get_link</a>(<a class="code" href="structplayerc__wifi__t.html" title="Wifi device proxy.">playerc_wifi_t</a> *device, <span class="keywordtype">int</span> link);
<a name="l03255"></a>03255 
<a name="l03256"></a>03256 
<a name="l03258"></a>03258 <span class="comment">/**************************************************************************/</span>
<a name="l03259"></a>03259 
<a name="l03260"></a>03260 <span class="comment">/***************************************************************************/</span>
<a name="l03272"></a><a class="code" href="structplayerc__simulation__t.html">03272</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03273"></a>03273 {
<a name="l03275"></a><a class="code" href="structplayerc__simulation__t.html#a7eb7120f583e0add3f79f06da6f47935">03275</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l03276"></a>03276 
<a name="l03277"></a>03277 } <a class="code" href="structplayerc__simulation__t.html" title="Simulation device proxy.">playerc_simulation_t</a>;
<a name="l03278"></a>03278 
<a name="l03279"></a>03279 
<a name="l03281"></a>03281 PLAYERC_EXPORT <a class="code" href="structplayerc__simulation__t.html" title="Simulation device proxy.">playerc_simulation_t</a> *<a class="code" href="group__playerc__proxy__simulation.html#ga6219752041b36f5f284c7ece1f51c534" title="Create a new simulation proxy.">playerc_simulation_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l03282"></a>03282 
<a name="l03284"></a>03284 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__simulation.html#gac5377ef37082e264c0ff1bc6a7d1546b" title="Destroy a simulation proxy.">playerc_simulation_destroy</a>(<a class="code" href="structplayerc__simulation__t.html" title="Simulation device proxy.">playerc_simulation_t</a> *device);
<a name="l03285"></a>03285 
<a name="l03287"></a>03287 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__simulation.html#gab49768754ebd2ce3d6c826974c8fea46" title="Subscribe to the simulation device.">playerc_simulation_subscribe</a>(<a class="code" href="structplayerc__simulation__t.html" title="Simulation device proxy.">playerc_simulation_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l03288"></a>03288 
<a name="l03290"></a>03290 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__simulation.html#ga14a07de97eb850786609e165b66e8b90" title="Un-subscribe from the simulation device.">playerc_simulation_unsubscribe</a>(<a class="code" href="structplayerc__simulation__t.html" title="Simulation device proxy.">playerc_simulation_t</a> *device);
<a name="l03291"></a>03291 
<a name="l03293"></a>03293 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__simulation.html#ga8b1e39ffff49e7d47ec3897ba0af07bf" title="Set the 2D pose of a named simulation object.">playerc_simulation_set_pose2d</a>(<a class="code" href="structplayerc__simulation__t.html" title="Simulation device proxy.">playerc_simulation_t</a> *device, <span class="keywordtype">char</span>* name,
<a name="l03294"></a>03294                                   <span class="keywordtype">double</span> gx, <span class="keywordtype">double</span> gy, <span class="keywordtype">double</span> ga);
<a name="l03295"></a>03295 
<a name="l03297"></a>03297 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__simulation.html#ga0470d60566f8f26ed26be542e8917e8f" title="Get the 2D pose of a named simulation object.">playerc_simulation_get_pose2d</a>(<a class="code" href="structplayerc__simulation__t.html" title="Simulation device proxy.">playerc_simulation_t</a> *device, <span class="keywordtype">char</span>* identifier,
<a name="l03298"></a>03298                                   <span class="keywordtype">double</span> *x, <span class="keywordtype">double</span> *y, <span class="keywordtype">double</span> *a);
<a name="l03299"></a>03299 
<a name="l03301"></a>03301 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__simulation.html#ga878cf49681c60a4b149e294a671839d8" title="Set the 3D pose of a named simulation object.">playerc_simulation_set_pose3d</a>(<a class="code" href="structplayerc__simulation__t.html" title="Simulation device proxy.">playerc_simulation_t</a> *device, <span class="keywordtype">char</span>* name,
<a name="l03302"></a>03302                                   <span class="keywordtype">double</span> gx, <span class="keywordtype">double</span> gy, <span class="keywordtype">double</span> gz,
<a name="l03303"></a>03303                                   <span class="keywordtype">double</span> groll, <span class="keywordtype">double</span> gpitch, <span class="keywordtype">double</span> gyaw);
<a name="l03304"></a>03304 
<a name="l03306"></a>03306 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__simulation.html#ga18db18b1fbfb1b94ec896cbfc4be4b14" title="Get the 3D pose of a named simulation object.">playerc_simulation_get_pose3d</a>(<a class="code" href="structplayerc__simulation__t.html" title="Simulation device proxy.">playerc_simulation_t</a> *device, <span class="keywordtype">char</span>* identifier,
<a name="l03307"></a>03307                                   <span class="keywordtype">double</span> *x, <span class="keywordtype">double</span> *y, <span class="keywordtype">double</span> *z,
<a name="l03308"></a>03308                                   <span class="keywordtype">double</span> *roll, <span class="keywordtype">double</span> *pitch, <span class="keywordtype">double</span> *yaw, <span class="keywordtype">double</span> *time);
<a name="l03309"></a>03309 
<a name="l03311"></a>03311 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__simulation.html#gae9d7d1daede913203f5f7193a7e060e3" title="Set a property value.">playerc_simulation_set_property</a>(<a class="code" href="structplayerc__simulation__t.html" title="Simulation device proxy.">playerc_simulation_t</a> *device,
<a name="l03312"></a>03312                                     <span class="keywordtype">char</span>* name,
<a name="l03313"></a>03313                                     <span class="keywordtype">char</span>* property,
<a name="l03314"></a>03314                                     <span class="keywordtype">void</span>* value,
<a name="l03315"></a>03315                                     <span class="keywordtype">size_t</span> value_len);
<a name="l03316"></a>03316 
<a name="l03318"></a>03318 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__simulation.html#ga34ec8c3760158e550acb117cf439cfb5" title="Get a property value.">playerc_simulation_get_property</a>(<a class="code" href="structplayerc__simulation__t.html" title="Simulation device proxy.">playerc_simulation_t</a> *device,
<a name="l03319"></a>03319                                     <span class="keywordtype">char</span>* name,
<a name="l03320"></a>03320                                     <span class="keywordtype">char</span>* property,
<a name="l03321"></a>03321                                     <span class="keywordtype">void</span>* value,
<a name="l03322"></a>03322                                     <span class="keywordtype">size_t</span> value_len);
<a name="l03323"></a>03323 
<a name="l03325"></a>03325 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__simulation.html#ga177682c3245b6fa3114401948bc883ad" title="pause / unpause the simulation">playerc_simulation_pause</a>(<a class="code" href="structplayerc__simulation__t.html" title="Simulation device proxy.">playerc_simulation_t</a> *device );
<a name="l03326"></a>03326 
<a name="l03328"></a>03328 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__simulation.html#ga7a75b64de6499e9e71f348fd7f0f381b" title="reset the simulation state">playerc_simulation_reset</a>(<a class="code" href="structplayerc__simulation__t.html" title="Simulation device proxy.">playerc_simulation_t</a> *device );
<a name="l03329"></a>03329 
<a name="l03331"></a>03331 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__simulation.html#gae9b5ab59b8476dc1664b6eb40a4f960c" title="make the simulation save the status/world">playerc_simulation_save</a>(<a class="code" href="structplayerc__simulation__t.html" title="Simulation device proxy.">playerc_simulation_t</a> *device );
<a name="l03332"></a>03332 
<a name="l03333"></a>03333 
<a name="l03335"></a>03335 <span class="comment">/***************************************************************************/</span>
<a name="l03336"></a>03336 
<a name="l03337"></a>03337 
<a name="l03338"></a>03338 <span class="comment">/**************************************************************************/</span>
<a name="l03348"></a><a class="code" href="structplayerc__speech__t.html">03348</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03349"></a>03349 {
<a name="l03351"></a><a class="code" href="structplayerc__speech__t.html#a6aa857aac4be4e142a6c2af6b6a3e64e">03351</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l03352"></a>03352 } <a class="code" href="structplayerc__speech__t.html" title="Speech proxy data.">playerc_speech_t</a>;
<a name="l03353"></a>03353 
<a name="l03354"></a>03354 
<a name="l03356"></a>03356 PLAYERC_EXPORT <a class="code" href="structplayerc__speech__t.html" title="Speech proxy data.">playerc_speech_t</a> *<a class="code" href="group__playerc__proxy__speech.html#ga1bba1115cb0c88cc8bf48b2b9bb99567" title="Create a speech proxy.">playerc_speech_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l03357"></a>03357 
<a name="l03359"></a>03359 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__speech.html#gabde8ac7a43c61b0c54c8ebee7263d7f9" title="Destroy a speech proxy.">playerc_speech_destroy</a>(<a class="code" href="structplayerc__speech__t.html" title="Speech proxy data.">playerc_speech_t</a> *device);
<a name="l03360"></a>03360 
<a name="l03362"></a>03362 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__speech.html#gaeb1c85a83e5602f733d5f0968261ac75" title="Subscribe to the speech device.">playerc_speech_subscribe</a>(<a class="code" href="structplayerc__speech__t.html" title="Speech proxy data.">playerc_speech_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l03363"></a>03363 
<a name="l03365"></a>03365 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__speech.html#ga513bc16b32b72b1bbb3f1eb3da03916f" title="Un-subscribe from the speech device.">playerc_speech_unsubscribe</a>(<a class="code" href="structplayerc__speech__t.html" title="Speech proxy data.">playerc_speech_t</a> *device);
<a name="l03366"></a>03366 
<a name="l03368"></a>03368 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__speech.html#ga46e5ffa8735879655a192dd07227a37f" title="Set the output for the speech device.">playerc_speech_say</a> (<a class="code" href="structplayerc__speech__t.html" title="Speech proxy data.">playerc_speech_t</a> *device, <span class="keywordtype">char</span> *);
<a name="l03369"></a>03369 
<a name="l03370"></a>03370 
<a name="l03372"></a>03372 <span class="comment">/***************************************************************************/</span>
<a name="l03373"></a>03373 
<a name="l03374"></a>03374 <span class="comment">/**************************************************************************/</span>
<a name="l03384"></a><a class="code" href="structplayerc__speechrecognition__t.html">03384</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03385"></a>03385 {
<a name="l03387"></a><a class="code" href="structplayerc__speechrecognition__t.html#ae5e256fcc978e6d4af64437bd4f6ed3d">03387</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l03388"></a>03388 
<a name="l03389"></a>03389   <span class="keywordtype">char</span> *rawText;
<a name="l03390"></a>03390   <span class="comment">/* Just estimating that no more than 20 words will be spoken between updates.</span>
<a name="l03391"></a>03391 <span class="comment">   Assuming that the longest word is &lt;= 30 characters.*/</span>
<a name="l03392"></a>03392   <span class="keywordtype">char</span> **words;
<a name="l03393"></a>03393   <span class="keywordtype">int</span> wordCount;
<a name="l03394"></a>03394 } <a class="code" href="structplayerc__speechrecognition__t.html" title="Speech recognition proxy data.">playerc_speechrecognition_t</a>;
<a name="l03395"></a>03395 
<a name="l03396"></a>03396 
<a name="l03398"></a>03398 PLAYERC_EXPORT <a class="code" href="structplayerc__speechrecognition__t.html" title="Speech recognition proxy data.">playerc_speechrecognition_t</a> *<a class="code" href="group__playerc__proxy__speech__recognition.html#gabb950623a9bb8dc2118acff9a73dfcfd" title="Create a speech recognition proxy.">playerc_speechrecognition_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l03399"></a>03399 
<a name="l03401"></a>03401 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__speech__recognition.html#ga80946f3e4a0b14a19ae54a6cecfa5b17" title="Destroy a speech recognition proxy.">playerc_speechrecognition_destroy</a>(<a class="code" href="structplayerc__speechrecognition__t.html" title="Speech recognition proxy data.">playerc_speechrecognition_t</a> *device);
<a name="l03402"></a>03402 
<a name="l03404"></a>03404 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__speech__recognition.html#gaa6ff793ee666cf0c4da67ff2bfb31b39" title="Subscribe to the speech recognition device.">playerc_speechrecognition_subscribe</a>(<a class="code" href="structplayerc__speechrecognition__t.html" title="Speech recognition proxy data.">playerc_speechrecognition_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l03405"></a>03405 
<a name="l03407"></a>03407 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__speech__recognition.html#ga521b22e3bef6fdafa438e8dad9e71633" title="Un-subscribe from the speech recognition device.">playerc_speechrecognition_unsubscribe</a>(<a class="code" href="structplayerc__speechrecognition__t.html" title="Speech recognition proxy data.">playerc_speechrecognition_t</a> *device);
<a name="l03408"></a>03408 
<a name="l03410"></a>03410 <span class="comment">/***************************************************************************/</span>
<a name="l03411"></a>03411 
<a name="l03412"></a>03412 <span class="comment">/**************************************************************************/</span>
<a name="l03422"></a><a class="code" href="structplayerc__rfidtag__t.html">03422</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03423"></a>03423 {
<a name="l03425"></a><a class="code" href="structplayerc__rfidtag__t.html#af8f87b929afca3b8c3b149aaa78c6069">03425</a>     uint32_t type;
<a name="l03427"></a><a class="code" href="structplayerc__rfidtag__t.html#a3f4d4006367208052286de6139399625">03427</a>     uint32_t guid_count;
<a name="l03429"></a><a class="code" href="structplayerc__rfidtag__t.html#a96ffa0155b3af84ff536f5ab0658c664">03429</a>     uint8_t *guid;
<a name="l03430"></a>03430 }  <a class="code" href="structplayerc__rfidtag__t.html" title="Structure describing a single RFID tag.">playerc_rfidtag_t</a>;
<a name="l03431"></a>03431 
<a name="l03433"></a><a class="code" href="structplayerc__rfid__t.html">03433</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03434"></a>03434 {
<a name="l03436"></a><a class="code" href="structplayerc__rfid__t.html#a2723528a37256f4d1e36f55f3f837bc4">03436</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l03437"></a>03437 
<a name="l03439"></a><a class="code" href="structplayerc__rfid__t.html#a82df83c4f02468c719467b2efb0b6fe8">03439</a>   uint16_t tags_count;
<a name="l03440"></a>03440 
<a name="l03442"></a><a class="code" href="structplayerc__rfid__t.html#ab71137b10b72a2cc98a1c0acdb417698">03442</a>   <a class="code" href="structplayerc__rfidtag__t.html" title="Structure describing a single RFID tag.">playerc_rfidtag_t</a> *tags;
<a name="l03443"></a>03443 } <a class="code" href="structplayerc__rfid__t.html" title="RFID proxy data.">playerc_rfid_t</a>;
<a name="l03444"></a>03444 
<a name="l03445"></a>03445 
<a name="l03447"></a>03447 PLAYERC_EXPORT <a class="code" href="structplayerc__rfid__t.html" title="RFID proxy data.">playerc_rfid_t</a> *<a class="code" href="group__playerc__proxy__rfid.html#ga4596aa6784ee531a48bbe68d80a8ff77" title="Create a rfid proxy.">playerc_rfid_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l03448"></a>03448 
<a name="l03450"></a>03450 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__rfid.html#gabf46b8a111beec4a63b761340179c86a" title="Destroy a rfid proxy.">playerc_rfid_destroy</a>(<a class="code" href="structplayerc__rfid__t.html" title="RFID proxy data.">playerc_rfid_t</a> *device);
<a name="l03451"></a>03451 
<a name="l03453"></a>03453 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__rfid.html#gad5528f06374a4b7b36cbe6b4e0d5bb6c" title="Subscribe to the rfid device.">playerc_rfid_subscribe</a>(<a class="code" href="structplayerc__rfid__t.html" title="RFID proxy data.">playerc_rfid_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l03454"></a>03454 
<a name="l03456"></a>03456 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__rfid.html#ga87b02ca296a3fc034fb18a38fadc26c6" title="Un-subscribe from the rfid device.">playerc_rfid_unsubscribe</a>(<a class="code" href="structplayerc__rfid__t.html" title="RFID proxy data.">playerc_rfid_t</a> *device);
<a name="l03457"></a>03457 
<a name="l03459"></a>03459 <span class="comment">/***************************************************************************/</span>
<a name="l03460"></a>03460 
<a name="l03461"></a>03461 <span class="comment">/**************************************************************************/</span>
<a name="l03471"></a><a class="code" href="group__playerc__proxy__pointcloud3d.html#ga848a5bbc9863794c27b77fa8d4b4ddfb">03471</a> <span class="keyword">typedef</span> <a class="code" href="structplayer__pointcloud3d__element.html" title="3D Pointcloud element structure An element as stored in a 3D pointcloud, containing a 3D position plu...">player_pointcloud3d_element_t</a> <a class="code" href="structplayer__pointcloud3d__element.html" title="3D Pointcloud element structure An element as stored in a 3D pointcloud, containing a 3D position plu...">playerc_pointcloud3d_element_t</a>;
<a name="l03472"></a>03472 
<a name="l03474"></a><a class="code" href="structplayerc__pointcloud3d__t.html">03474</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03475"></a>03475 {
<a name="l03477"></a><a class="code" href="structplayerc__pointcloud3d__t.html#a8f8dda0d0a1f62d4f8925994944ea6ab">03477</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l03478"></a>03478 
<a name="l03480"></a><a class="code" href="structplayerc__pointcloud3d__t.html#a304891c005c6b30a49ca875556c591e9">03480</a>   uint16_t points_count;
<a name="l03481"></a>03481 
<a name="l03483"></a><a class="code" href="structplayerc__pointcloud3d__t.html#a167818d577f6d6784c454056bdb9dc5b">03483</a>   playerc_pointcloud3d_element_t *points;
<a name="l03484"></a>03484 } <a class="code" href="structplayerc__pointcloud3d__t.html" title="pointcloud3d proxy data.">playerc_pointcloud3d_t</a>;
<a name="l03485"></a>03485 
<a name="l03486"></a>03486 
<a name="l03488"></a>03488 PLAYERC_EXPORT <a class="code" href="structplayerc__pointcloud3d__t.html" title="pointcloud3d proxy data.">playerc_pointcloud3d_t</a> *<a class="code" href="group__playerc__proxy__pointcloud3d.html#ga8bb46287d0b93cf4c25a3b1cdfb0f151" title="Create a pointcloud3d proxy.">playerc_pointcloud3d_create</a> (<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l03489"></a>03489 
<a name="l03491"></a>03491 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__pointcloud3d.html#ga2de9b71908d8d180e6445fe871ac7c2b" title="Destroy a pointcloud3d proxy.">playerc_pointcloud3d_destroy</a> (<a class="code" href="structplayerc__pointcloud3d__t.html" title="pointcloud3d proxy data.">playerc_pointcloud3d_t</a> *device);
<a name="l03492"></a>03492 
<a name="l03494"></a>03494 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__pointcloud3d.html#ga1a57e37dc7430d453240010bca8b578c" title="Subscribe to the pointcloud3d device.">playerc_pointcloud3d_subscribe</a> (<a class="code" href="structplayerc__pointcloud3d__t.html" title="pointcloud3d proxy data.">playerc_pointcloud3d_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l03495"></a>03495 
<a name="l03497"></a>03497 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__pointcloud3d.html#gabcf3568398f375c6618b7c46d966dd7b" title="Un-subscribe from the pointcloud3d device.">playerc_pointcloud3d_unsubscribe</a> (<a class="code" href="structplayerc__pointcloud3d__t.html" title="pointcloud3d proxy data.">playerc_pointcloud3d_t</a> *device);
<a name="l03498"></a>03498 
<a name="l03500"></a>03500 <span class="comment">/***************************************************************************/</span>
<a name="l03501"></a>03501 
<a name="l03502"></a>03502 <span class="comment">/**************************************************************************/</span>
<a name="l03511"></a><a class="code" href="group__playerc__proxy__stereo.html#ga8a3d817b2905590d258cd4e9195d4b5c">03511</a> <span class="keyword">typedef</span> <a class="code" href="structplayer__pointcloud3d__stereo__element.html">player_pointcloud3d_stereo_element_t</a> <a class="code" href="structplayer__pointcloud3d__stereo__element.html">playerc_pointcloud3d_stereo_element_t</a>;
<a name="l03512"></a>03512 
<a name="l03514"></a><a class="code" href="structplayerc__stereo__t.html">03514</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03515"></a>03515 {
<a name="l03517"></a><a class="code" href="structplayerc__stereo__t.html#ac3c3ecd77da5bd09dcfa0f37d1a065ff">03517</a>   <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l03518"></a>03518 
<a name="l03519"></a>03519   <span class="comment">/* Left channel image */</span>
<a name="l03520"></a>03520   <a class="code" href="structplayerc__camera__t.html" title="Camera proxy data.">playerc_camera_t</a> left_channel;
<a name="l03521"></a>03521   <span class="comment">/* Right channel image */</span>
<a name="l03522"></a>03522   <a class="code" href="structplayerc__camera__t.html" title="Camera proxy data.">playerc_camera_t</a> right_channel;
<a name="l03523"></a>03523 
<a name="l03524"></a>03524   <span class="comment">/* Disparity image */</span>
<a name="l03525"></a>03525   <a class="code" href="structplayerc__camera__t.html" title="Camera proxy data.">playerc_camera_t</a> disparity;
<a name="l03526"></a>03526   
<a name="l03527"></a>03527   <span class="comment">/* 3-D stereo point cloud */</span>
<a name="l03528"></a>03528   uint32_t points_count;
<a name="l03529"></a>03529   playerc_pointcloud3d_stereo_element_t *points;
<a name="l03530"></a>03530 <span class="comment">//  player_pointcloud3d_data_t pointcloud;</span>
<a name="l03531"></a>03531 } <a class="code" href="structplayerc__stereo__t.html" title="stereo proxy data.">playerc_stereo_t</a>;
<a name="l03532"></a>03532 
<a name="l03533"></a>03533 
<a name="l03535"></a>03535 PLAYERC_EXPORT <a class="code" href="structplayerc__stereo__t.html" title="stereo proxy data.">playerc_stereo_t</a> *<a class="code" href="group__playerc__proxy__stereo.html#ga81e461784602add7d9f2440bffa64ac7" title="Create a stereo proxy.">playerc_stereo_create</a> (<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l03536"></a>03536 
<a name="l03538"></a>03538 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__stereo.html#gae7828bf608a239a9647efe95050264ad" title="Destroy a stereo proxy.">playerc_stereo_destroy</a> (<a class="code" href="structplayerc__stereo__t.html" title="stereo proxy data.">playerc_stereo_t</a> *device);
<a name="l03539"></a>03539 
<a name="l03541"></a>03541 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__stereo.html#gad78a2efa35267df4b6b7f7d200f90ebd" title="Subscribe to the stereo device.">playerc_stereo_subscribe</a> (<a class="code" href="structplayerc__stereo__t.html" title="stereo proxy data.">playerc_stereo_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l03542"></a>03542 
<a name="l03544"></a>03544 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__stereo.html#gaea7f48984ea97888d30e7568c405b53c" title="Un-subscribe from the stereo device.">playerc_stereo_unsubscribe</a> (<a class="code" href="structplayerc__stereo__t.html" title="stereo proxy data.">playerc_stereo_t</a> *device);
<a name="l03545"></a>03545 
<a name="l03547"></a>03547 <span class="comment">/***************************************************************************/</span>
<a name="l03548"></a>03548 
<a name="l03549"></a>03549 <span class="comment">/**************************************************************************/</span>
<a name="l03559"></a><a class="code" href="structplayerc__imu__t.html">03559</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03560"></a>03560 {
<a name="l03562"></a><a class="code" href="structplayerc__imu__t.html#a12fdb12c66f7a612cb2228cb3d270e08">03562</a>     <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l03563"></a>03563 
<a name="l03565"></a><a class="code" href="structplayerc__imu__t.html#aabdbf9d3e6cdc8f873d8a611f15c5081">03565</a>     <a class="code" href="structplayer__pose3d.html" title="A pose in space.">player_pose3d_t</a> pose;
<a name="l03566"></a>03566         <a class="code" href="structplayer__pose3d.html" title="A pose in space.">player_pose3d_t</a> vel;
<a name="l03567"></a>03567         <a class="code" href="structplayer__pose3d.html" title="A pose in space.">player_pose3d_t</a> acc;
<a name="l03568"></a>03568 
<a name="l03570"></a><a class="code" href="structplayerc__imu__t.html#a099749925228accdc84848a057d2dda7">03570</a>     <a class="code" href="structplayer__imu__data__calib.html" title="Data: calibrated IMU data (PLAYER_IMU_DATA_CALIB).">player_imu_data_calib_t</a> calib_data;
<a name="l03571"></a>03571 
<a name="l03573"></a><a class="code" href="structplayerc__imu__t.html#aa5d33804e5eff78272bd172259c84461">03573</a>     <span class="keywordtype">float</span> q0, q1, q2, q3;
<a name="l03574"></a>03574 } <a class="code" href="structplayerc__imu__t.html" title="IMU proxy state data.">playerc_imu_t</a>;
<a name="l03575"></a>03575 
<a name="l03577"></a>03577 PLAYERC_EXPORT <a class="code" href="structplayerc__imu__t.html" title="IMU proxy state data.">playerc_imu_t</a> *<a class="code" href="group__playerc__proxy__imu.html#gae6b63b5951379098fd92c5ce7d3199dc" title="Create a imu proxy.">playerc_imu_create</a> (<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l03578"></a>03578 
<a name="l03580"></a>03580 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__imu.html#gaa72b5b31b340964a806b765468a0fae6" title="Destroy a imu proxy.">playerc_imu_destroy</a> (<a class="code" href="structplayerc__imu__t.html" title="IMU proxy state data.">playerc_imu_t</a> *device);
<a name="l03581"></a>03581 
<a name="l03583"></a>03583 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__imu.html#gac81631f729e421092c5aebde0547e524" title="Subscribe to the imu device.">playerc_imu_subscribe</a> (<a class="code" href="structplayerc__imu__t.html" title="IMU proxy state data.">playerc_imu_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l03584"></a>03584 
<a name="l03586"></a>03586 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__imu.html#ga67a40f18fdde3befe09877e90099a475" title="Un-subscribe from the imu device.">playerc_imu_unsubscribe</a> (<a class="code" href="structplayerc__imu__t.html" title="IMU proxy state data.">playerc_imu_t</a> *device);
<a name="l03587"></a>03587 
<a name="l03589"></a>03589 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__imu.html#ga159fb9b702c9b628ee1864dbda1cb03b" title="Change the data type to one of the predefined data structures.">playerc_imu_datatype</a> (<a class="code" href="structplayerc__imu__t.html" title="IMU proxy state data.">playerc_imu_t</a> *device, <span class="keywordtype">int</span> value);
<a name="l03590"></a>03590 
<a name="l03592"></a>03592 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__imu.html#ga0c274f703900bde131f7462788888b67" title="Reset orientation.">playerc_imu_reset_orientation</a> (<a class="code" href="structplayerc__imu__t.html" title="IMU proxy state data.">playerc_imu_t</a> *device, <span class="keywordtype">int</span> value);
<a name="l03593"></a>03593 
<a name="l03595"></a>03595 <span class="comment">/***************************************************************************/</span>
<a name="l03596"></a>03596 
<a name="l03597"></a>03597 <span class="comment">/**************************************************************************/</span>
<a name="l03610"></a><a class="code" href="structplayerc__wsn__t.html">03610</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03611"></a>03611 {
<a name="l03613"></a><a class="code" href="structplayerc__wsn__t.html#ad461d1178dfcd42624e4e43080e593a5">03613</a>     <a class="code" href="struct__playerc__device__t.html" title="Common device info.">playerc_device_t</a> info;
<a name="l03614"></a>03614 
<a name="l03616"></a><a class="code" href="structplayerc__wsn__t.html#ababc01b9614adbfa3f5f446b9fca4cad">03616</a>     uint32_t node_type;
<a name="l03618"></a><a class="code" href="structplayerc__wsn__t.html#a1fa2d82e48c926e9b803b03ba1c8a97b">03618</a>     uint32_t node_id;
<a name="l03620"></a><a class="code" href="structplayerc__wsn__t.html#a77cb78cae47b4d1de834d5da671c653f">03620</a>     uint32_t node_parent_id;
<a name="l03622"></a><a class="code" href="structplayerc__wsn__t.html#a10f40143e97be9b39676ca17ced3ac88">03622</a>     <a class="code" href="structplayer__wsn__node__data.html" title="Structure describing the WSN node&amp;#39;s data packet.">player_wsn_node_data_t</a> data_packet;
<a name="l03623"></a>03623 } <a class="code" href="structplayerc__wsn__t.html" title="Note: the structure describing the WSN node&amp;#39;s data packet is declared in Player.">playerc_wsn_t</a>;
<a name="l03624"></a>03624 
<a name="l03625"></a>03625 
<a name="l03627"></a>03627 PLAYERC_EXPORT <a class="code" href="structplayerc__wsn__t.html" title="Note: the structure describing the WSN node&amp;#39;s data packet is declared in Player.">playerc_wsn_t</a> *<a class="code" href="group__playerc__proxy__wsn.html#ga0e00d8b0b2cfe296dbbee9b8cbb17ee4" title="Create a wsn proxy.">playerc_wsn_create</a>(<a class="code" href="struct__playerc__client__t.html" title="Client object data.">playerc_client_t</a> *client, <span class="keywordtype">int</span> index);
<a name="l03628"></a>03628 
<a name="l03630"></a>03630 PLAYERC_EXPORT <span class="keywordtype">void</span> <a class="code" href="group__playerc__proxy__wsn.html#ga99f692e577850649473ece74041f80b9" title="Destroy a wsn proxy.">playerc_wsn_destroy</a>(<a class="code" href="structplayerc__wsn__t.html" title="Note: the structure describing the WSN node&amp;#39;s data packet is declared in Player.">playerc_wsn_t</a> *device);
<a name="l03631"></a>03631 
<a name="l03633"></a>03633 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__wsn.html#ga0cb04dd37b054130df3640ed5f76ee33" title="Subscribe to the wsn device.">playerc_wsn_subscribe</a>(<a class="code" href="structplayerc__wsn__t.html" title="Note: the structure describing the WSN node&amp;#39;s data packet is declared in Player.">playerc_wsn_t</a> *device, <span class="keywordtype">int</span> access);
<a name="l03634"></a>03634 
<a name="l03636"></a>03636 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__wsn.html#ga7cf15fe4cd9fee3d0529fcfacd2edd7d" title="Un-subscribe from the wsn device.">playerc_wsn_unsubscribe</a>(<a class="code" href="structplayerc__wsn__t.html" title="Note: the structure describing the WSN node&amp;#39;s data packet is declared in Player.">playerc_wsn_t</a> *device);
<a name="l03637"></a>03637 
<a name="l03639"></a>03639 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__wsn.html#ga108ab6de1b0bf1d94589174841e8d33c" title="Set the device state.">playerc_wsn_set_devstate</a>(<a class="code" href="structplayerc__wsn__t.html" title="Note: the structure describing the WSN node&amp;#39;s data packet is declared in Player.">playerc_wsn_t</a> *device, <span class="keywordtype">int</span> node_id,
<a name="l03640"></a>03640                              <span class="keywordtype">int</span> group_id, <span class="keywordtype">int</span> devnr, <span class="keywordtype">int</span> state);
<a name="l03641"></a>03641 
<a name="l03643"></a>03643 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__wsn.html#gad56be80bd3cd38a962866e5afafe02b2" title="Put the node in sleep mode (0) or wake it up (1).">playerc_wsn_power</a>(<a class="code" href="structplayerc__wsn__t.html" title="Note: the structure describing the WSN node&amp;#39;s data packet is declared in Player.">playerc_wsn_t</a> *device, <span class="keywordtype">int</span> node_id, <span class="keywordtype">int</span> group_id,
<a name="l03644"></a>03644                       <span class="keywordtype">int</span> value);
<a name="l03645"></a>03645 
<a name="l03647"></a>03647 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__wsn.html#ga3e0af802412f4475781ba7326c802402" title="Change the data type to RAW or converted engineering units.">playerc_wsn_datatype</a>(<a class="code" href="structplayerc__wsn__t.html" title="Note: the structure describing the WSN node&amp;#39;s data packet is declared in Player.">playerc_wsn_t</a> *device, <span class="keywordtype">int</span> value);
<a name="l03648"></a>03648 
<a name="l03650"></a>03650 PLAYERC_EXPORT <span class="keywordtype">int</span> <a class="code" href="group__playerc__proxy__wsn.html#ga4161ccb7bea3acec9b811c0f750c68f9" title="Change data delivery frequency.">playerc_wsn_datafreq</a>(<a class="code" href="structplayerc__wsn__t.html" title="Note: the structure describing the WSN node&amp;#39;s data packet is declared in Player.">playerc_wsn_t</a> *device, <span class="keywordtype">int</span> node_id, <span class="keywordtype">int</span> group_id,
<a name="l03651"></a>03651                          <span class="keywordtype">double</span> frequency);
<a name="l03652"></a>03652 
<a name="l03654"></a>03654 <span class="comment">/***************************************************************************/</span>
<a name="l03655"></a>03655 
<a name="l03656"></a>03656 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l03657"></a>03657 <span class="preprocessor"></span>}
<a name="l03658"></a>03658 <span class="preprocessor">#endif</span>
<a name="l03659"></a>03659 <span class="preprocessor"></span>
<a name="l03660"></a>03660 <span class="preprocessor">#endif</span>
</pre></div></div>
</div>
<!-- render the modification time of the source file -->


<div class="timestamp">
<hr>

<table style="width:100%;">
<tr>
<td style="text-align:left;">
Last updated 12 September 2005 21:38:45
<!--
<td style="text-align:right;">
<a href="http://validator.w3.org/check/referer"><img style="vertical-align:middle;border:0;width:88px;height:31px"
          src="http://www.w3.org/Icons/valid-html401"
          alt="Valid HTML 4.01!"></a>

 <a href="http://jigsaw.w3.org/css-validator/">
  <img style="vertical-align:middle;border:0;width:88px;height:31px"
       src="http://jigsaw.w3.org/css-validator/images/vcss"
       alt="Valid CSS!">
 </a>
-->
</tr>
</table>
</div>


</tr>
</table>

</BODY>
</HTML>