<!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 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 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 <netinet/in.h></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 <stddef.h></span> <span class="comment">/* size_t */</span> <a name="l00058"></a>00058 <span class="preprocessor">#include <stdio.h></span> <a name="l00059"></a>00059 <a name="l00060"></a>00060 <span class="preprocessor">#include <playerconfig.h></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 <libplayercommon/playercommon.h></span> <a name="l00064"></a>00064 <span class="preprocessor">#include <libplayerinterface/player.h></span> <a name="l00065"></a>00065 <span class="preprocessor">#include <libplayercommon/playercommon.h></span> <a name="l00066"></a>00066 <span class="preprocessor">#include <libplayerinterface/interface_util.h></span> <a name="l00067"></a>00067 <span class="preprocessor">#include <libplayerinterface/playerxdr.h></span> <a name="l00068"></a>00068 <span class="preprocessor">#include <libplayerinterface/functiontable.h></span> <a name="l00069"></a>00069 <span class="preprocessor">#include <libplayerwkb/playerwkb.h></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 <winsock2.h></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 < 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 > 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">"C"</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 <sys/poll.h>, 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&#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&#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&#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&#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&#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&#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&#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&#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&#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&#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->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&#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&#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&#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 <= 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&#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&#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&#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&#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&#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&#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&#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&#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&#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&#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>