Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > c72d609d39bfe5656f218382a504969f > files > 798

libkni3-doc-3.9.2-13.fc15.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>KatanaNativeInterface: include/KNI/kmlMotBase.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">KatanaNativeInterface&#160;<span id="projectnumber">$VERSION$</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('kmlMotBase_8h.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<h1>kmlMotBase.h</h1>  </div>
</div>
<div class="contents">
<a href="kmlMotBase_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//</span>
<a name="l00002"></a>00002 <span class="comment">// C++ Interface: MotBase</span>
<a name="l00003"></a>00003 <span class="comment">//</span>
<a name="l00004"></a>00004 <span class="comment">// Description: </span>
<a name="l00005"></a>00005 <span class="comment">//</span>
<a name="l00006"></a>00006 <span class="comment">//</span>
<a name="l00007"></a>00007 <span class="comment">// Author: Tiziano Müller &lt;tiziano.mueller@neuronics.ch&gt;, (C) 2006</span>
<a name="l00008"></a>00008 <span class="comment">//</span>
<a name="l00009"></a>00009 <span class="comment">// Copyright: See COPYING file that comes with this distribution</span>
<a name="l00010"></a>00010 <span class="comment">//</span>
<a name="l00011"></a>00011 <span class="comment">//</span>
<a name="l00012"></a>00012 
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef KMLMOTBASE_H</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define KMLMOTBASE_H</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="preprocessor">#include &quot;common/exception.h&quot;</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;common/dllexport.h&quot;</span>
<a name="l00018"></a>00018 
<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;KNI/kmlCommon.h&quot;</span>
<a name="l00020"></a>00020 <span class="preprocessor">#include &quot;KNI/cplBase.h&quot;</span>
<a name="l00021"></a>00021 
<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;vector&gt;</span>
<a name="l00023"></a>00023 
<a name="l00024"></a>00024 <span class="keyword">class </span><a class="code" href="classCKatBase.html" title="Base Katana class.">CKatBase</a>; <span class="comment">// forward declaration</span>
<a name="l00025"></a>00025 <span class="keyword">class </span><a class="code" href="classCMotBase.html" title="Motor class.">CMotBase</a>; <span class="comment">// forward declaration</span>
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 
<a name="l00028"></a>00028 <span class="comment">/****************************************************************************/</span>
<a name="l00029"></a>00029 <span class="comment">// CMotBase ----------------------------------------------------------------//</span>
<a name="l00030"></a>00030 <span class="comment">/****************************************************************************/</span>
<a name="l00031"></a>00031 
<a name="l00034"></a><a class="code" href="structTMotDesc.html">00034</a> <span class="keyword">struct  </span><a class="code" href="structTMotDesc.html" title="motor description (partly)">TMotDesc</a> {
<a name="l00035"></a><a class="code" href="structTMotDesc.html#a60bfea639b2f9f5ff8f2f74ff48f2177">00035</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotDesc.html#a60bfea639b2f9f5ff8f2f74ff48f2177" title="slave number">slvID</a>;          
<a name="l00036"></a>00036 };
<a name="l00037"></a>00037 
<a name="l00040"></a><a class="code" href="structTKatMOT.html">00040</a> <span class="keyword">struct  </span><a class="code" href="structTKatMOT.html" title="[MOT] every motor&amp;#39;s attributes">TKatMOT</a> {
<a name="l00041"></a><a class="code" href="structTKatMOT.html#a822e9a16374937982558c139c257c757">00041</a>         <span class="keywordtype">short</span>           <a class="code" href="structTKatMOT.html#a822e9a16374937982558c139c257c757" title="count of motors">cnt</a>;            
<a name="l00042"></a><a class="code" href="structTKatMOT.html#a0130fd74b087f3868da0fdc763fe7aac">00042</a>         <a class="code" href="classCMotBase.html" title="Motor class.">CMotBase</a>*       <a class="code" href="structTKatMOT.html#a0130fd74b087f3868da0fdc763fe7aac" title="array of motors">arr</a>;            
<a name="l00043"></a><a class="code" href="structTKatMOT.html#af215a8f25c56e8dcc2d2c2dd49e20a96">00043</a>         <a class="code" href="structTMotDesc.html" title="motor description (partly)">TMotDesc</a>*       <a class="code" href="structTKatMOT.html#af215a8f25c56e8dcc2d2c2dd49e20a96" title="description[]">desc</a>;           
<a name="l00044"></a>00044 };
<a name="l00045"></a>00045 
<a name="l00048"></a><a class="code" href="kmlMotBase_8h.html#a1b93f23a077cc22845f59079c30ef343">00048</a> <span class="keyword">enum</span> <a class="code" href="kmlMotBase_8h.html#a1b93f23a077cc22845f59079c30ef343" title="command flags">TMotCmdFlg</a> {
<a name="l00049"></a><a class="code" href="kmlMotBase_8h.html#a1b93f23a077cc22845f59079c30ef343a3918f38f721e46b7fc74c8f8e9138f88">00049</a>         <a class="code" href="kmlMotBase_8h.html#a1b93f23a077cc22845f59079c30ef343a3918f38f721e46b7fc74c8f8e9138f88" title="set the motor off">MCF_OFF</a>         = 0,            
<a name="l00050"></a><a class="code" href="kmlMotBase_8h.html#a1b93f23a077cc22845f59079c30ef343a6d0109f9a662721667f731b5c04e9571">00050</a>         <a class="code" href="kmlMotBase_8h.html#a1b93f23a077cc22845f59079c30ef343a6d0109f9a662721667f731b5c04e9571" title="calibrate">MCF_CALIB</a>       = 4,            
<a name="l00051"></a><a class="code" href="kmlMotBase_8h.html#a1b93f23a077cc22845f59079c30ef343a313d9e0e728920106bda8541c2823086">00051</a>         <a class="code" href="kmlMotBase_8h.html#a1b93f23a077cc22845f59079c30ef343a313d9e0e728920106bda8541c2823086" title="freeze the motor">MCF_FREEZE</a>      = 8,            
<a name="l00052"></a><a class="code" href="kmlMotBase_8h.html#a1b93f23a077cc22845f59079c30ef343a9eea4a1984ad4910643fc2a9fb64d400">00052</a>         <a class="code" href="kmlMotBase_8h.html#a1b93f23a077cc22845f59079c30ef343a9eea4a1984ad4910643fc2a9fb64d400" title="set the motor on">MCF_ON</a>          = 24            
<a name="l00053"></a>00053 };
<a name="l00054"></a>00054 
<a name="l00057"></a><a class="code" href="kmlMotBase_8h.html#a796b50724e4fd015f0ea73cf2ec4c8e9">00057</a> <span class="keyword">enum</span> <a class="code" href="kmlMotBase_8h.html#a796b50724e4fd015f0ea73cf2ec4c8e9" title="status flags">TMotStsFlg</a> {
<a name="l00058"></a><a class="code" href="kmlMotBase_8h.html#a796b50724e4fd015f0ea73cf2ec4c8e9a2a81029083bd6ad6edf57741f8d9c615">00058</a>         <a class="code" href="kmlMotBase_8h.html#a796b50724e4fd015f0ea73cf2ec4c8e9a2a81029083bd6ad6edf57741f8d9c615" title="mechanical stopper reached">MSF_MECHSTOP</a>    = 1,            
<a name="l00059"></a><a class="code" href="kmlMotBase_8h.html#a796b50724e4fd015f0ea73cf2ec4c8e9a74a862cdeab078729e6de4cb5814190a">00059</a>         <a class="code" href="kmlMotBase_8h.html#a796b50724e4fd015f0ea73cf2ec4c8e9a74a862cdeab078729e6de4cb5814190a" title="max. position was reached">MSF_MAXPOS</a>      = 2,            
<a name="l00060"></a><a class="code" href="kmlMotBase_8h.html#a796b50724e4fd015f0ea73cf2ec4c8e9aceb47e65cbda2629eb57802eb07bbe4d">00060</a>         <a class="code" href="kmlMotBase_8h.html#a796b50724e4fd015f0ea73cf2ec4c8e9aceb47e65cbda2629eb57802eb07bbe4d" title="min. position was reached">MSF_MINPOS</a>      = 4,            
<a name="l00061"></a><a class="code" href="kmlMotBase_8h.html#a796b50724e4fd015f0ea73cf2ec4c8e9adf583df0969e5ea605f29a25518ae211">00061</a>         <a class="code" href="kmlMotBase_8h.html#a796b50724e4fd015f0ea73cf2ec4c8e9adf583df0969e5ea605f29a25518ae211" title="in desired position">MSF_DESPOS</a>      = 8,            
<a name="l00062"></a><a class="code" href="kmlMotBase_8h.html#a796b50724e4fd015f0ea73cf2ec4c8e9a09a0b42f676d4bae943219c7d39c396d">00062</a>         <a class="code" href="kmlMotBase_8h.html#a796b50724e4fd015f0ea73cf2ec4c8e9a09a0b42f676d4bae943219c7d39c396d" title="trying to follow target">MSF_NORMOPSTAT</a>  = 16,           
<a name="l00063"></a><a class="code" href="kmlMotBase_8h.html#a796b50724e4fd015f0ea73cf2ec4c8e9ac7d321f25db2c2ed6d26a1f191a161f8">00063</a>         <a class="code" href="kmlMotBase_8h.html#a796b50724e4fd015f0ea73cf2ec4c8e9ac7d321f25db2c2ed6d26a1f191a161f8" title="motor has crashed">MSF_MOTCRASHED</a>  = 40,           
<a name="l00064"></a><a class="code" href="kmlMotBase_8h.html#a796b50724e4fd015f0ea73cf2ec4c8e9a628d480128ddf4b9b3cc51a77a420367">00064</a>         <a class="code" href="kmlMotBase_8h.html#a796b50724e4fd015f0ea73cf2ec4c8e9a628d480128ddf4b9b3cc51a77a420367" title="non-linear movement ended">MSF_NLINMOV</a>     = 88,           
<a name="l00065"></a><a class="code" href="kmlMotBase_8h.html#a796b50724e4fd015f0ea73cf2ec4c8e9abce01b6c162a5abf78d255d10d0c60d2">00065</a>         <a class="code" href="kmlMotBase_8h.html#a796b50724e4fd015f0ea73cf2ec4c8e9abce01b6c162a5abf78d255d10d0c60d2" title="linear movement ended">MSF_LINMOV</a>      = 152,          
<a name="l00066"></a><a class="code" href="kmlMotBase_8h.html#a796b50724e4fd015f0ea73cf2ec4c8e9abf817c191b35caddc18b0c03cce4fe21">00066</a>         <a class="code" href="kmlMotBase_8h.html#a796b50724e4fd015f0ea73cf2ec4c8e9abf817c191b35caddc18b0c03cce4fe21" title="motor data not valid">MSF_NOTVALID</a>    = 128           
<a name="l00067"></a>00067 };
<a name="l00068"></a><a class="code" href="kmlMotBase_8h.html#adef107e616c782dbe7138446a2edf71b">00068</a> <span class="keyword">enum</span> <a class="code" href="kmlMotBase_8h.html#adef107e616c782dbe7138446a2edf71b">TSearchDir</a> {                       
<a name="l00069"></a><a class="code" href="kmlMotBase_8h.html#adef107e616c782dbe7138446a2edf71baa4895ca32bbe7ac5e12689125075b855">00069</a>         <a class="code" href="kmlMotBase_8h.html#adef107e616c782dbe7138446a2edf71baa4895ca32bbe7ac5e12689125075b855" title="search direction for the meachanical stopper">DIR_POSITIVE</a>,
<a name="l00070"></a><a class="code" href="kmlMotBase_8h.html#adef107e616c782dbe7138446a2edf71ba5ead8e8c76023f78988bf28de9080fbd">00070</a>         <a class="code" href="kmlMotBase_8h.html#adef107e616c782dbe7138446a2edf71ba5ead8e8c76023f78988bf28de9080fbd">DIR_NEGATIVE</a>
<a name="l00071"></a>00071 };
<a name="l00072"></a>00072 
<a name="l00073"></a>00073 
<a name="l00074"></a>00074 <span class="comment">//--------------------------------------------------------------------------//</span>
<a name="l00075"></a>00075 
<a name="l00078"></a><a class="code" href="structTMotGNL.html">00078</a> <span class="keyword">struct </span><a class="code" href="structTMotGNL.html" title="[GNL] motor generals">TMotGNL</a> {
<a name="l00079"></a><a class="code" href="structTMotGNL.html#a2aa0f63fe4abbdd7bcf8e4e3ca3bf116">00079</a>         <a class="code" href="classCKatBase.html" title="Base Katana class.">CKatBase</a>*       <a class="code" href="structTMotGNL.html#a2aa0f63fe4abbdd7bcf8e4e3ca3bf116" title="parent robot">own</a>;            
<a name="l00080"></a><a class="code" href="structTMotGNL.html#a2fc8e2cc524f6345a2d26272fefa97fb">00080</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotGNL.html#a2fc8e2cc524f6345a2d26272fefa97fb" title="slave ID">SID</a>;            
<a name="l00081"></a>00081 };
<a name="l00082"></a>00082 
<a name="l00085"></a><a class="code" href="structTMotSFW.html">00085</a> <span class="keyword">struct </span><a class="code" href="structTMotSFW.html" title="[SFW] slave firmware">TMotSFW</a> {
<a name="l00086"></a><a class="code" href="structTMotSFW.html#a41b95b243fe9cbbc85b9a8ed8055f784">00086</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotSFW.html#a41b95b243fe9cbbc85b9a8ed8055f784" title="firmware version number">version</a>;        
<a name="l00087"></a><a class="code" href="structTMotSFW.html#a55ffd9267fdec1fc84db46dbc0b8ac43">00087</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotSFW.html#a55ffd9267fdec1fc84db46dbc0b8ac43" title="firmware subversion number">subversion</a>;     
<a name="l00088"></a><a class="code" href="structTMotSFW.html#a5859ca51cefc3738df4dbbc765c86abd">00088</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotSFW.html#a5859ca51cefc3738df4dbbc765c86abd" title="firmware revision number">revision</a>;       
<a name="l00089"></a><a class="code" href="structTMotSFW.html#a4054260007cc7ff9835f8ddb67b15e08">00089</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotSFW.html#a4054260007cc7ff9835f8ddb67b15e08" title="firmware type">type</a>;           
<a name="l00090"></a><a class="code" href="structTMotSFW.html#ab8992f9489ad0480343dedcd6b3f8b17">00090</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotSFW.html#ab8992f9489ad0480343dedcd6b3f8b17" title="firmware subtype">subtype</a>;        
<a name="l00091"></a>00091 };
<a name="l00092"></a>00092 
<a name="l00095"></a><a class="code" href="structTMotAPS.html">00095</a> <span class="keyword">struct </span><a class="code" href="structTMotAPS.html" title="[APS] actual position">TMotAPS</a> {
<a name="l00096"></a><a class="code" href="structTMotAPS.html#aae5ab0479276862dcb17c8743ba06d69">00096</a>         <a class="code" href="kmlMotBase_8h.html#a1b93f23a077cc22845f59079c30ef343" title="command flags">TMotCmdFlg</a>      <a class="code" href="structTMotAPS.html#aae5ab0479276862dcb17c8743ba06d69" title="motor command flag">mcfAPS</a>;         
<a name="l00097"></a><a class="code" href="structTMotAPS.html#aa978eef414d9c1f1c8c790600143d822">00097</a>         <span class="keywordtype">short</span>           <a class="code" href="structTMotAPS.html#aa978eef414d9c1f1c8c790600143d822" title="actual position">actpos</a>;         
<a name="l00098"></a>00098 };
<a name="l00099"></a>00099 
<a name="l00102"></a><a class="code" href="structTMotTPS.html">00102</a> <span class="keyword">struct </span><a class="code" href="structTMotTPS.html" title="[TPS] target position">TMotTPS</a> {
<a name="l00103"></a><a class="code" href="structTMotTPS.html#a5517f73d38abca15b25b261871c3c432">00103</a>         <a class="code" href="kmlMotBase_8h.html#a1b93f23a077cc22845f59079c30ef343" title="command flags">TMotCmdFlg</a>      <a class="code" href="structTMotTPS.html#a5517f73d38abca15b25b261871c3c432" title="motor command flag">mcfTPS</a>;         
<a name="l00104"></a><a class="code" href="structTMotTPS.html#ac6e0c69e2d228d8d7f1f5d906ceb91c7">00104</a>         <span class="keywordtype">short</span>           <a class="code" href="structTMotTPS.html#ac6e0c69e2d228d8d7f1f5d906ceb91c7" title="target position">tarpos</a>;         
<a name="l00105"></a>00105 };
<a name="l00106"></a>00106 
<a name="l00109"></a><a class="code" href="structTMotSCP.html">00109</a> <span class="keyword">struct </span><a class="code" href="structTMotSCP.html" title="[SCP] static controller parameters">TMotSCP</a> {
<a name="l00110"></a>00110 
<a name="l00111"></a>00111         <span class="comment">//--------------- Motor old parameters -------------------------------//</span>
<a name="l00112"></a>00112         <span class="comment">//</span>
<a name="l00113"></a><a class="code" href="structTMotSCP.html#a75c81c7c55a492c6d9ccd08c3f328f2a">00113</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotSCP.html#a75c81c7c55a492c6d9ccd08c3f328f2a" title="max. val for pos. voltage">maxppwm</a>;        
<a name="l00114"></a><a class="code" href="structTMotSCP.html#a4529ff05ffdfe11ae47363dafe3a73a2">00114</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotSCP.html#a4529ff05ffdfe11ae47363dafe3a73a2" title="max. val for neg. voltage; pos!">maxnpwm</a>;        
<a name="l00115"></a><a class="code" href="structTMotSCP.html#aa47d98b148778d89cb2dd0ecb25505e4">00115</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotSCP.html#aa47d98b148778d89cb2dd0ecb25505e4" title="prop. factor of pos comp">kP</a>;             
<a name="l00116"></a><a class="code" href="structTMotSCP.html#af2e7cb17bbe149f56fb5b65ad0fc1548">00116</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotSCP.html#af2e7cb17bbe149f56fb5b65ad0fc1548" title="not yet active">kI</a>;             
<a name="l00117"></a><a class="code" href="structTMotSCP.html#a7d27225a80c89b8b4881af5b6220e4b5">00117</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotSCP.html#a7d27225a80c89b8b4881af5b6220e4b5" title="derivate factor of pos comp">kD</a>;             
<a name="l00118"></a><a class="code" href="structTMotSCP.html#a196e97ad1aafd9ddbe6c278fdf75758f">00118</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotSCP.html#a196e97ad1aafd9ddbe6c278fdf75758f" title="not yet active">kARW</a>;           
<a name="l00119"></a>00119         <span class="comment">//byte          kSpeed;         //!&lt; prop. factor of speed limit comp</span>
<a name="l00120"></a><a class="code" href="structTMotSCP.html#ad183a7d76c974511524afe83e7488859">00120</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotSCP.html#ad183a7d76c974511524afe83e7488859" title="Proportional factor of the speed compensator.">kP_speed</a>;       
<a name="l00121"></a><a class="code" href="structTMotSCP.html#a43a0be6ac51a0193e2ff54328d376636">00121</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotSCP.html#a43a0be6ac51a0193e2ff54328d376636" title="Integral factor of the speed compensator.">kI_speed</a>;       
<a name="l00122"></a><a class="code" href="structTMotSCP.html#a0618b2f12fd6541cc3eedbe4c7e894fa">00122</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotSCP.html#a0618b2f12fd6541cc3eedbe4c7e894fa" title="Derivative factor of the speed compensator.">kD_speed</a>;       
<a name="l00123"></a>00123 
<a name="l00124"></a>00124         <span class="comment">//--------------- Motor new parameters -------------------------------//</span>
<a name="l00125"></a>00125         <span class="comment">//</span>
<a name="l00126"></a><a class="code" href="structTMotSCP.html#a287f0e83ce25a2a42ab9cf07a452e2fa">00126</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotSCP.html#a287f0e83ce25a2a42ab9cf07a452e2fa" title="Max. value for positive voltage (0 =&amp;gt; 0%, +70 =&amp;gt; 100%)">maxppwm_nmp</a>;    
<a name="l00127"></a><a class="code" href="structTMotSCP.html#a1bd29014b5e83d5623e53cbccbd7e8a1">00127</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotSCP.html#a1bd29014b5e83d5623e53cbccbd7e8a1" title="Max. value for negative voltage (0 =&amp;gt; 0%, +70 =&amp;gt; 100%)">maxnpwm_nmp</a>;    
<a name="l00128"></a><a class="code" href="structTMotSCP.html#ad14709ec96dab87dd226b8e0e26c5fa2">00128</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotSCP.html#ad14709ec96dab87dd226b8e0e26c5fa2" title="Proportional factor of speed compensator.">kspeed_nmp</a>;     
<a name="l00129"></a><a class="code" href="structTMotSCP.html#a60e49ea70d42bcb6f893667cc984ee2b">00129</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotSCP.html#a60e49ea70d42bcb6f893667cc984ee2b" title="Proportional factor of position compensator.">kpos_nmp</a>;       
<a name="l00130"></a><a class="code" href="structTMotSCP.html#a822f69b8bcc50d42b8f5340439a6946d">00130</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotSCP.html#a822f69b8bcc50d42b8f5340439a6946d" title="Integral factor (1/kI) of control output added to the final control output.">kI_nmp</a>;         
<a name="l00131"></a><a class="code" href="structTMotSCP.html#a866807ce75336b5bccc8dee8ad6ebe29">00131</a>         <span class="keywordtype">int</span>             <a class="code" href="structTMotSCP.html#a866807ce75336b5bccc8dee8ad6ebe29" title="Limit of error in position.">crash_limit_nmp</a>;        
<a name="l00132"></a><a class="code" href="structTMotSCP.html#adac8bf96bf305ae115337c52930ddbf8">00132</a>         <span class="keywordtype">int</span>             <a class="code" href="structTMotSCP.html#adac8bf96bf305ae115337c52930ddbf8" title="Limit of error in position in linear movement.">crash_limit_lin_nmp</a>;    
<a name="l00133"></a>00133 };
<a name="l00134"></a>00134 
<a name="l00137"></a><a class="code" href="structTMotDYL.html">00137</a> <span class="keyword">struct </span><a class="code" href="structTMotDYL.html" title="[DYL] dynamic limits">TMotDYL</a> {
<a name="l00138"></a>00138 
<a name="l00139"></a>00139         <span class="comment">//--------------- Motor old parameters -------------------------------//</span>
<a name="l00140"></a>00140         <span class="comment">//</span>
<a name="l00141"></a><a class="code" href="structTMotDYL.html#a6e2413322735701e8f2c2c0c7effcb7c">00141</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotDYL.html#a6e2413322735701e8f2c2c0c7effcb7c" title="max acceleration">maxaccel</a>;       
<a name="l00142"></a><a class="code" href="structTMotDYL.html#ac71d79cad34e2c71aa6c9d1a9e2d0e90">00142</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotDYL.html#ac71d79cad34e2c71aa6c9d1a9e2d0e90" title="max deceleration">maxdecel</a>;       
<a name="l00143"></a><a class="code" href="structTMotDYL.html#a2afb9422f6a5e8c601739c35e292eec4">00143</a>         <span class="keywordtype">short</span>           <a class="code" href="structTMotDYL.html#a2afb9422f6a5e8c601739c35e292eec4" title="not yet active">minpos</a>;         
<a name="l00144"></a><a class="code" href="structTMotDYL.html#a8773e21cdcfb37cd9a798e8705c477e7">00144</a>         <span class="keywordtype">short</span>           <a class="code" href="structTMotDYL.html#a8773e21cdcfb37cd9a798e8705c477e7" title="max. allowed forward speed">maxpspeed</a>;      
<a name="l00145"></a><a class="code" href="structTMotDYL.html#a661068df70ffda77ff9bf991a0279185">00145</a>         <span class="keywordtype">short</span>           <a class="code" href="structTMotDYL.html#a661068df70ffda77ff9bf991a0279185" title="max. allowed reverse speed; pos!">maxnspeed</a>;      
<a name="l00146"></a>00146         <span class="comment">//byte          maxpcurr;       // no more active</span>
<a name="l00147"></a>00147         <span class="comment">//byte          maxncurr;       // no more active</span>
<a name="l00148"></a><a class="code" href="structTMotDYL.html#a12f73a5755f2dbb79b3550b564b31d59">00148</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotDYL.html#a12f73a5755f2dbb79b3550b564b31d59" title="max current">maxcurr</a>;        
<a name="l00149"></a><a class="code" href="structTMotDYL.html#aa136a5d79a33a6d626a767804784096a">00149</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotDYL.html#aa136a5d79a33a6d626a767804784096a" title="actual current">actcurr</a>;        
<a name="l00150"></a>00150 
<a name="l00151"></a>00151         <span class="comment">//--------------- Motor new parameters -------------------------------//</span>
<a name="l00152"></a>00152         <span class="comment">//</span>
<a name="l00153"></a><a class="code" href="structTMotDYL.html#a3c1401c457a4fa944a45ccb51e803802">00153</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotDYL.html#a3c1401c457a4fa944a45ccb51e803802" title="Maximal acceleration and deceleration.">maxaccel_nmp</a>;   
<a name="l00154"></a><a class="code" href="structTMotDYL.html#a5452d671b40131de0c9b945d6ad2f3b1">00154</a>         <span class="keywordtype">short</span>           <a class="code" href="structTMotDYL.html#a5452d671b40131de0c9b945d6ad2f3b1" title="Max. allowed forward speed.">maxpspeed_nmp</a>;  
<a name="l00155"></a><a class="code" href="structTMotDYL.html#a4148e3604be69032d6a0cac6e889d464">00155</a>         <span class="keywordtype">short</span>           <a class="code" href="structTMotDYL.html#a4148e3604be69032d6a0cac6e889d464" title="Max. allowed reverse speed.">maxnspeed_nmp</a>;  
<a name="l00156"></a><a class="code" href="structTMotDYL.html#a95a58e22172ff1b32d029b2eb50141ae">00156</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotDYL.html#a95a58e22172ff1b32d029b2eb50141ae" title="set the maximal current">maxcurr_nmp</a>;    
<a name="l00157"></a>00157 };
<a name="l00158"></a>00158 
<a name="l00161"></a><a class="code" href="structTMotPVP.html">00161</a> <span class="keyword">struct </span><a class="code" href="structTMotPVP.html" title="[PVP] position, velocity, pulse width modulation">TMotPVP</a> {
<a name="l00162"></a><a class="code" href="structTMotPVP.html#aade2b6c96f2a3058cdaa6d87a196439d">00162</a>         <a class="code" href="kmlMotBase_8h.html#a796b50724e4fd015f0ea73cf2ec4c8e9" title="status flags">TMotStsFlg</a>      <a class="code" href="structTMotPVP.html#aade2b6c96f2a3058cdaa6d87a196439d" title="motor status flag">msf</a>;            
<a name="l00163"></a><a class="code" href="structTMotPVP.html#a10eb7205f99bf76ae189da1b03fd9d2c">00163</a>         <span class="keywordtype">short</span>           <a class="code" href="structTMotPVP.html#a10eb7205f99bf76ae189da1b03fd9d2c" title="position">pos</a>;            
<a name="l00164"></a><a class="code" href="structTMotPVP.html#a639dad63bb11fd2e58ad846ea0b1c97c">00164</a>         <span class="keywordtype">short</span>           <a class="code" href="structTMotPVP.html#a639dad63bb11fd2e58ad846ea0b1c97c" title="velocity">vel</a>;            
<a name="l00165"></a><a class="code" href="structTMotPVP.html#a33db940f4b7b6e81fa44c5a122876cfc">00165</a>         <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>            <a class="code" href="structTMotPVP.html#a33db940f4b7b6e81fa44c5a122876cfc" title="pulse with modulation">pwm</a>;            
<a name="l00166"></a>00166 };
<a name="l00167"></a>00167 
<a name="l00170"></a><a class="code" href="structTMotENL.html">00170</a> <span class="keyword">struct </span><a class="code" href="structTMotENL.html" title="[ENL] limits in encoder values (INTERNAL STRUCTURE!)">TMotENL</a> {
<a name="l00171"></a><a class="code" href="structTMotENL.html#a745cfb2c7b8cafbbefecbaff3ee25b3e">00171</a>         <span class="keywordtype">int</span>     <a class="code" href="structTMotENL.html#a745cfb2c7b8cafbbefecbaff3ee25b3e" title="motor&amp;#39;s range in encoder values">enc_range</a>;              
<a name="l00172"></a><a class="code" href="structTMotENL.html#a3a5e72a9f117c15ad60ba36e04911aa8">00172</a>         <span class="keywordtype">int</span>     <a class="code" href="structTMotENL.html#a3a5e72a9f117c15ad60ba36e04911aa8" title="motor&amp;#39;s minimum position in encoder values">enc_minpos</a>;             
<a name="l00173"></a><a class="code" href="structTMotENL.html#ac58ef24df1a3655b6c9e892949f1c659">00173</a>         <span class="keywordtype">int</span>     <a class="code" href="structTMotENL.html#ac58ef24df1a3655b6c9e892949f1c659" title="motor&amp;#39;s maximum position in encoder values">enc_maxpos</a>;             
<a name="l00174"></a><a class="code" href="structTMotENL.html#ab7da05be27bf94cdd956d8f35b6d4d84">00174</a>         <span class="keywordtype">int</span>     <a class="code" href="structTMotENL.html#ab7da05be27bf94cdd956d8f35b6d4d84" title="number of encoder units needed to complete 360 degrees;">enc_per_cycle</a>;          
<a name="l00175"></a><a class="code" href="structTMotENL.html#a3178fb7125c1856b9fdf8685c312dd5e">00175</a>         <span class="keywordtype">int</span>     <a class="code" href="structTMotENL.html#a3178fb7125c1856b9fdf8685c312dd5e" title="encoder units of tolerance to accept that a position has been reached">enc_tolerance</a>;          
<a name="l00176"></a>00176 };
<a name="l00177"></a>00177 
<a name="l00178"></a>00178 
<a name="l00181"></a><a class="code" href="structTMotCLB.html">00181</a> <span class="keyword">struct </span><a class="code" href="structTMotCLB.html" title="Calibration structure for single motors.">TMotCLB</a> {
<a name="l00182"></a><a class="code" href="structTMotCLB.html#a2591eaa70a32ece1c09d1eab80f498bf">00182</a>   <span class="keywordtype">bool</span>          <a class="code" href="structTMotCLB.html#a2591eaa70a32ece1c09d1eab80f498bf" title="enable/disable">enable</a>;                 
<a name="l00183"></a><a class="code" href="structTMotCLB.html#aea13069cf9030c96eeede5c48aaf01f1">00183</a>   <span class="keywordtype">short</span>       <a class="code" href="structTMotCLB.html#aea13069cf9030c96eeede5c48aaf01f1" title="order in which this motor will be calibrated. range: 0..5">order</a>;                    
<a name="l00184"></a>00184   
<a name="l00185"></a><a class="code" href="structTMotCLB.html#a422fa79d99050038dd195640eb3c4469">00185</a>   <a class="code" href="kmlMotBase_8h.html#adef107e616c782dbe7138446a2edf71b">TSearchDir</a>    <a class="code" href="structTMotCLB.html#a422fa79d99050038dd195640eb3c4469" title="search direction for mech. stopper">dir</a>;                    
<a name="l00186"></a><a class="code" href="structTMotCLB.html#a2371961a421eabb6ab5b448d719f29fb">00186</a>   <a class="code" href="kmlMotBase_8h.html#a1b93f23a077cc22845f59079c30ef343" title="command flags">TMotCmdFlg</a>    <a class="code" href="structTMotCLB.html#a2371961a421eabb6ab5b448d719f29fb" title="motor flag after calibration">mcf</a>;                    
<a name="l00187"></a>00187   
<a name="l00188"></a><a class="code" href="structTMotCLB.html#a54ec5e99eb9ba77628c9b45d31663644">00188</a>   <span class="keywordtype">int</span>                 <a class="code" href="structTMotCLB.html#a54ec5e99eb9ba77628c9b45d31663644">encoderPositionAfter</a>;
<a name="l00189"></a><a class="code" href="structTMotCLB.html#af4499c71b632a7c83ca850da7f0e5c77">00189</a>   <span class="keywordtype">bool</span>          <a class="code" href="structTMotCLB.html#af4499c71b632a7c83ca850da7f0e5c77">isCalibrated</a>;
<a name="l00190"></a>00190   
<a name="l00191"></a><a class="code" href="structTMotCLB.html#a44e5b95dcc9010af7afc09cffabb3953">00191</a>   <a class="code" href="structTMotDYL.html" title="[DYL] dynamic limits">TMotDYL</a> <a class="code" href="structTMotCLB.html#a44e5b95dcc9010af7afc09cffabb3953">dyl</a>;
<a name="l00192"></a><a class="code" href="structTMotCLB.html#a8d63a6311561df8c9a752d3ee75a49ef">00192</a>   <a class="code" href="structTMotSCP.html" title="[SCP] static controller parameters">TMotSCP</a> <a class="code" href="structTMotCLB.html#a8d63a6311561df8c9a752d3ee75a49ef">scp</a>;
<a name="l00193"></a>00193 };
<a name="l00194"></a>00194 
<a name="l00195"></a>00195 
<a name="l00198"></a><a class="code" href="structTMotInit.html">00198</a> <span class="keyword">struct </span><a class="code" href="structTMotInit.html" title="Initial motor parameters.">TMotInit</a> {
<a name="l00199"></a><a class="code" href="structTMotInit.html#aa5e3bd5e36b35c855670121a8e634359">00199</a>         <span class="keywordtype">int</span>             <a class="code" href="structTMotInit.html#aa5e3bd5e36b35c855670121a8e634359">encoderOffset</a>;
<a name="l00200"></a><a class="code" href="structTMotInit.html#a030ed7d427488f1c64f04ff5b1bc0c71">00200</a>         <span class="keywordtype">int</span>             <a class="code" href="structTMotInit.html#a030ed7d427488f1c64f04ff5b1bc0c71">encodersPerCycle</a>;
<a name="l00201"></a><a class="code" href="structTMotInit.html#ad7a0ad0e4872c033984d8c8ace4d174c">00201</a>         <span class="keywordtype">double</span>          <a class="code" href="structTMotInit.html#ad7a0ad0e4872c033984d8c8ace4d174c">angleOffset</a>;
<a name="l00202"></a><a class="code" href="structTMotInit.html#ad13a2f881533187c052b4b32796f2bff">00202</a>         <span class="keywordtype">double</span>          <a class="code" href="structTMotInit.html#ad13a2f881533187c052b4b32796f2bff">angleRange</a>;
<a name="l00203"></a><a class="code" href="structTMotInit.html#ac6d23bedaec6e337d0ebb58fc91010a4">00203</a>         <span class="keywordtype">int</span>             <a class="code" href="structTMotInit.html#ac6d23bedaec6e337d0ebb58fc91010a4">rotationDirection</a>;
<a name="l00204"></a>00204 
<a name="l00205"></a>00205         <span class="comment">// calculated ones:</span>
<a name="l00206"></a><a class="code" href="structTMotInit.html#acc448d69b8ded1695e80c85d7fc5b99f">00206</a>         <span class="keywordtype">double</span>                  <a class="code" href="structTMotInit.html#acc448d69b8ded1695e80c85d7fc5b99f">angleStop</a>;
<a name="l00207"></a>00207 };
<a name="l00208"></a>00208 
<a name="l00209"></a>00209 <span class="comment">//--------------------------------------------------------------------------//</span>
<a name="l00210"></a>00210 
<a name="l00219"></a><a class="code" href="classCMotBase.html">00219</a> <span class="keyword">class </span><a class="code" href="dllexport_8h.html#af6e7daabccc187ef1005a8e9a68ecce4">DLLDIR</a> <a class="code" href="classCMotBase.html" title="Motor class.">CMotBase</a> {
<a name="l00220"></a>00220 
<a name="l00221"></a><a class="code" href="classCMotBase.html#a099603b3fbe6a04e3b0d667a5e4770f3">00221</a>         <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classCKatBase.html" title="Base Katana class.">CKatBase</a>;
<a name="l00222"></a>00222 
<a name="l00223"></a>00223 
<a name="l00224"></a>00224 <span class="keyword">protected</span>:
<a name="l00225"></a><a class="code" href="classCMotBase.html#a94a3017f0c6195521f37c8284827f3d9">00225</a>         <a class="code" href="structTMotGNL.html" title="[GNL] motor generals">TMotGNL</a> <a class="code" href="classCMotBase.html#a94a3017f0c6195521f37c8284827f3d9" title="motor generals">gnl</a>;                    
<a name="l00226"></a><a class="code" href="classCMotBase.html#ab0236abff7c0502724311bed0d3dcf07">00226</a>         <a class="code" href="structTMotAPS.html" title="[APS] actual position">TMotAPS</a> <a class="code" href="classCMotBase.html#ab0236abff7c0502724311bed0d3dcf07" title="actual position">aps</a>;                    
<a name="l00227"></a><a class="code" href="classCMotBase.html#af2216347d8a7a4c39e007060a944bb2b">00227</a>         <a class="code" href="structTMotTPS.html" title="[TPS] target position">TMotTPS</a> <a class="code" href="classCMotBase.html#af2216347d8a7a4c39e007060a944bb2b" title="target position">tps</a>;                    
<a name="l00228"></a><a class="code" href="classCMotBase.html#a754dca6c5982077b6a2d80bd79c2cca0">00228</a>         <a class="code" href="structTMotSCP.html" title="[SCP] static controller parameters">TMotSCP</a> <a class="code" href="classCMotBase.html#a754dca6c5982077b6a2d80bd79c2cca0" title="static controller parameters">scp</a>;                    
<a name="l00229"></a><a class="code" href="classCMotBase.html#a3fb7810362426fdd48df72317be65427">00229</a>         <a class="code" href="structTMotDYL.html" title="[DYL] dynamic limits">TMotDYL</a> <a class="code" href="classCMotBase.html#a3fb7810362426fdd48df72317be65427" title="dynamic limits">dyl</a>;                    
<a name="l00230"></a><a class="code" href="classCMotBase.html#a92b64310d3b990a7451a155ca75709aa">00230</a>         <a class="code" href="structTMotPVP.html" title="[PVP] position, velocity, pulse width modulation">TMotPVP</a> <a class="code" href="classCMotBase.html#a92b64310d3b990a7451a155ca75709aa" title="reading motor parameters">pvp</a>;                    
<a name="l00231"></a><a class="code" href="classCMotBase.html#a1efaedeead0f850d1cf567a826d1ea1f">00231</a>         <a class="code" href="structTMotSFW.html" title="[SFW] slave firmware">TMotSFW</a> <a class="code" href="classCMotBase.html#a1efaedeead0f850d1cf567a826d1ea1f" title="slave firmware">sfw</a>;                    
<a name="l00232"></a><a class="code" href="classCMotBase.html#a7df110e89c2f34bb8bacba4c9ee804df">00232</a>         <a class="code" href="structTMotCLB.html" title="Calibration structure for single motors.">TMotCLB</a>  <a class="code" href="classCMotBase.html#a7df110e89c2f34bb8bacba4c9ee804df" title="calibration structure">_calibrationParameters</a>;
<a name="l00233"></a><a class="code" href="classCMotBase.html#a568551fd2c45b8da94abd9afa4eaa7b0">00233</a>         <a class="code" href="structTMotENL.html" title="[ENL] limits in encoder values (INTERNAL STRUCTURE!)">TMotENL</a>  <a class="code" href="classCMotBase.html#a568551fd2c45b8da94abd9afa4eaa7b0" title="motor limits in encoder values">_encoderLimits</a>;        
<a name="l00234"></a><a class="code" href="classCMotBase.html#af70dfb2e18a9cf41f4fae051a6a8d0c3">00234</a>         <a class="code" href="structTMotInit.html" title="Initial motor parameters.">TMotInit</a> <a class="code" href="classCMotBase.html#af70dfb2e18a9cf41f4fae051a6a8d0c3">_initialParameters</a>;
<a name="l00235"></a><a class="code" href="classCMotBase.html#ab9aebfbc3a429f560cd5dfba6ecc3fdb">00235</a>         <span class="keywordtype">bool</span>    <a class="code" href="classCMotBase.html#ab9aebfbc3a429f560cd5dfba6ecc3fdb" title="if it is set, it will move on a parallel movement">freedom</a>;                
<a name="l00236"></a><a class="code" href="classCMotBase.html#a808658576b2bf34a99a5339896768928">00236</a>         <span class="keywordtype">bool</span>    <a class="code" href="classCMotBase.html#a808658576b2bf34a99a5339896768928" title="true if new motor parameters are implemented on the firmware">nmp</a>;                    
<a name="l00237"></a><a class="code" href="classCMotBase.html#adfed1980c70b83892f3d6f12e70649f8">00237</a>         <span class="keywordtype">bool</span>    <a class="code" href="classCMotBase.html#adfed1980c70b83892f3d6f12e70649f8" title="true if the motor was blocked due to a crash of the robot">blocked</a>;                
<a name="l00238"></a>00238 
<a name="l00239"></a>00239 
<a name="l00240"></a>00240 <span class="keyword">public</span>:
<a name="l00241"></a><a class="code" href="classCMotBase.html#a40aeb5bd256b758fceaf82432b1d9896">00241</a>         <span class="keyword">const</span> <a class="code" href="structTMotGNL.html" title="[GNL] motor generals">TMotGNL</a>* <a class="code" href="classCMotBase.html#a40aeb5bd256b758fceaf82432b1d9896">GetGNL</a>() { <span class="keywordflow">return</span> &amp;<a class="code" href="classCKatBase.html#ac07e59aae6f45d186b9c17cf5dd18c9c" title="katana general">gnl</a>; }
<a name="l00242"></a><a class="code" href="classCMotBase.html#a35532f3236b00e3d153fb9cbee454a5e">00242</a>         <span class="keyword">const</span> <a class="code" href="structTMotAPS.html" title="[APS] actual position">TMotAPS</a>* <a class="code" href="classCMotBase.html#a35532f3236b00e3d153fb9cbee454a5e">GetAPS</a>() { <span class="keywordflow">return</span> &amp;aps; }
<a name="l00243"></a><a class="code" href="classCMotBase.html#a93c6b34fd38c3a011e65abb901ff92cc">00243</a>         <span class="keyword">const</span> <a class="code" href="structTMotTPS.html" title="[TPS] target position">TMotTPS</a>* <a class="code" href="classCMotBase.html#a93c6b34fd38c3a011e65abb901ff92cc">GetTPS</a>() { <span class="keywordflow">return</span> &amp;tps; }
<a name="l00244"></a><a class="code" href="classCMotBase.html#af656939b08aca949be6bf2dd9eb8758b">00244</a>         <span class="keyword">const</span> <a class="code" href="structTMotSCP.html" title="[SCP] static controller parameters">TMotSCP</a>* <a class="code" href="classCMotBase.html#af656939b08aca949be6bf2dd9eb8758b">GetSCP</a>() { <span class="keywordflow">return</span> &amp;scp; }
<a name="l00245"></a><a class="code" href="classCMotBase.html#a6216175ebd3f4e40d205b70a6972f1ce">00245</a>         <span class="keyword">const</span> <a class="code" href="structTMotDYL.html" title="[DYL] dynamic limits">TMotDYL</a>* <a class="code" href="classCMotBase.html#a6216175ebd3f4e40d205b70a6972f1ce">GetDYL</a>() { <span class="keywordflow">return</span> &amp;dyl; }
<a name="l00246"></a><a class="code" href="classCMotBase.html#ada614abdc4932d4d5e907d3026d90367">00246</a>         <span class="keyword">const</span> <a class="code" href="structTMotPVP.html" title="[PVP] position, velocity, pulse width modulation">TMotPVP</a>* <a class="code" href="classCMotBase.html#ada614abdc4932d4d5e907d3026d90367">GetPVP</a>() { <span class="keywordflow">return</span> &amp;pvp; }
<a name="l00247"></a><a class="code" href="classCMotBase.html#acac44d3830b023527ab16dcb143c2caf">00247</a>         <span class="keyword">const</span> <a class="code" href="structTMotSFW.html" title="[SFW] slave firmware">TMotSFW</a>* <a class="code" href="classCMotBase.html#acac44d3830b023527ab16dcb143c2caf">GetSFW</a>() { <span class="keywordflow">return</span> &amp;sfw; }
<a name="l00248"></a><a class="code" href="classCMotBase.html#a49af3d94ba8870d7743973167b83ee87">00248</a>         <span class="keyword">const</span> <a class="code" href="structTMotCLB.html" title="Calibration structure for single motors.">TMotCLB</a>* <a class="code" href="classCMotBase.html#a49af3d94ba8870d7743973167b83ee87">GetCLB</a>() { <span class="keywordflow">return</span> &amp;_calibrationParameters; }
<a name="l00249"></a>00249 
<a name="l00250"></a><a class="code" href="classCMotBase.html#a13be8a88bfc39ccc789c9ccfb27db517">00250</a>         <span class="keyword">const</span> <a class="code" href="structTMotInit.html" title="Initial motor parameters.">TMotInit</a>* <a class="code" href="classCMotBase.html#a13be8a88bfc39ccc789c9ccfb27db517">GetInitialParameters</a>() { <span class="keywordflow">return</span> &amp;_initialParameters; }
<a name="l00251"></a><a class="code" href="classCMotBase.html#ab3ae1da175114d5995ebed7d5d34ca64">00251</a>         <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classCMotBase.html#ab3ae1da175114d5995ebed7d5d34ca64">GetEncoderTolerance</a>() { <span class="keywordflow">return</span> _encoderLimits.enc_tolerance; }
<a name="l00252"></a><a class="code" href="classCMotBase.html#a2ea850f6c70732ae218fe3d92f359d49">00252</a>         <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classCMotBase.html#a2ea850f6c70732ae218fe3d92f359d49" title="Returns the min Position of the Encoder.">GetEncoderMinPos</a>() { <span class="keywordflow">return</span> _encoderLimits.enc_minpos; }      
<a name="l00253"></a><a class="code" href="classCMotBase.html#a8477c99f3fb79e72a4e0524c38f9cffb">00253</a>         <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classCMotBase.html#a8477c99f3fb79e72a4e0524c38f9cffb" title="Returns the max Position of the Encoder.">GetEncoderMaxPos</a>() { <span class="keywordflow">return</span> _encoderLimits.enc_maxpos; }      
<a name="l00254"></a><a class="code" href="classCMotBase.html#a79973fcf346cb02bd9f7ffb91ea6364f">00254</a>         <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classCMotBase.html#a79973fcf346cb02bd9f7ffb91ea6364f" title="Returns Encoder Range of the Encoder.">GetEncoderRange</a>() { <span class="keywordflow">return</span> _encoderLimits.enc_range; }        
<a name="l00255"></a>00255 <span class="keyword">const</span> <span class="keywordtype">bool</span> GetFreedom() { <span class="keywordflow">return</span> freedom; }<span class="keyword">const</span> <span class="keywordtype">bool</span> GetBlocked() { <span class="keywordflow">return</span> blocked; }<span class="keyword">const</span> <span class="keywordtype">bool</span> GetNmp() { <span class="keywordflow">return</span> nmp; }
<a name="l00262"></a>00262 
<a name="l00263"></a>00263 <span class="keyword">protected</span>:
<a name="l00264"></a><a class="code" href="classCMotBase.html#a19e4a6c8e319c2d815e07599092beace">00264</a>         <a class="code" href="classCCplBase.html" title="Abstract base class for protocol definiton.">CCplBase</a>* <a class="code" href="classCMotBase.html#a19e4a6c8e319c2d815e07599092beace" title="protocol interface">protocol</a>;     
<a name="l00265"></a>00265 
<a name="l00266"></a>00266 <span class="keyword">public</span>:
<a name="l00267"></a><a class="code" href="classCMotBase.html#a0fcdc1da04c25e6147ac409f91567fc2">00267</a>         <span class="keyword">virtual</span> <a class="code" href="classCMotBase.html#a0fcdc1da04c25e6147ac409f91567fc2">~CMotBase</a>() {}  <span class="comment">//destructor</span>
<a name="l00268"></a>00268 
<a name="l00269"></a>00269         <span class="keywordtype">bool</span> <a class="code" href="classCKatBase.html#a73d003579561bb2a91d043362b8568c7">init</a>(<a class="code" href="classCKatBase.html" title="Base Katana class.">CKatBase</a>* _own, <span class="keyword">const</span> <a class="code" href="structTMotDesc.html" title="motor description (partly)">TMotDesc</a> _motDesc, <a class="code" href="classCCplBase.html" title="Abstract base class for protocol definiton.">CCplBase</a>* <a class="code" href="classCKatBase.html#afc5f8ed4cd2793a9b839ccbbf4e72a4a" title="protocol interface">protocol</a>);
<a name="l00270"></a>00270         <span class="keywordtype">void</span> sendAPS(<span class="keyword">const</span> <a class="code" href="structTMotAPS.html" title="[APS] actual position">TMotAPS</a>* _aps);      <span class="keywordtype">void</span> sendTPS(<span class="keyword">const</span> <a class="code" href="structTMotTPS.html" title="[TPS] target position">TMotTPS</a>* _tps);      <span class="keywordtype">void</span> sendSCP(<span class="keyword">const</span> <a class="code" href="structTMotSCP.html" title="[SCP] static controller parameters">TMotSCP</a>* _scp);      <span class="keywordtype">void</span> sendDYL(<span class="keyword">const</span> <a class="code" href="structTMotDYL.html" title="[DYL] dynamic limits">TMotDYL</a>* _dyl);
<a name="l00279"></a>00279         <span class="keywordtype">void</span> recvPVP(); <span class="keywordtype">void</span> recvSCP(); <span class="keywordtype">void</span> recvDYL(); <span class="keywordtype">void</span> recvSFW();
<a name="l00288"></a>00288 
<a name="l00289"></a><a class="code" href="classCMotBase.html#af06800796d9045c7019c3041d274c5f6">00289</a>         <span class="keywordtype">void</span> <a class="code" href="classCMotBase.html#af06800796d9045c7019c3041d274c5f6">setSCP</a>(<a class="code" href="structTMotSCP.html" title="[SCP] static controller parameters">TMotSCP</a> _scp) { scp = _scp; }
<a name="l00290"></a><a class="code" href="classCMotBase.html#acad3c21151fdfc3d4ba96de49bd18358">00290</a>         <span class="keywordtype">void</span> <a class="code" href="classCMotBase.html#acad3c21151fdfc3d4ba96de49bd18358">setDYL</a>(<a class="code" href="structTMotDYL.html" title="[DYL] dynamic limits">TMotDYL</a> _dyl) { dyl = _dyl; }
<a name="l00291"></a>00291 
<a name="l00296"></a>00296         <span class="keywordtype">void</span> setTPSP(<span class="keywordtype">int</span> tar);
<a name="l00297"></a>00297         <span class="keywordtype">void</span> setTPSPDegrees(<span class="keywordtype">double</span> tar);        <span class="keywordtype">void</span> resetTPSP();
<a name="l00302"></a>00302 
<a name="l00303"></a>00303         
<a name="l00304"></a>00304         <span class="keywordtype">void</span> setInitialParameters(<span class="keywordtype">double</span> angleOffset, <span class="keywordtype">double</span> angleRange, <span class="keywordtype">int</span> encodersPerCycle, <span class="keywordtype">int</span> encoderOffset, <span class="keywordtype">int</span> rotationDirection);
<a name="l00305"></a>00305         <span class="keywordtype">void</span> setCalibrationParameters(<span class="keywordtype">bool</span> doCalibration, <span class="keywordtype">short</span> order, <a class="code" href="kmlMotBase_8h.html#adef107e616c782dbe7138446a2edf71b">TSearchDir</a> direction, <a class="code" href="kmlMotBase_8h.html#a1b93f23a077cc22845f59079c30ef343" title="command flags">TMotCmdFlg</a> motorFlagAfter, <span class="keywordtype">int</span> encoderPositionAfter);
<a name="l00306"></a>00306         <span class="keywordtype">void</span> setCalibrated(<span class="keywordtype">bool</span> calibrated);
<a name="l00307"></a>00307                                       
<a name="l00308"></a>00308         <span class="keywordtype">void</span> setTolerance(<span class="keywordtype">int</span> tolerance);
<a name="l00309"></a>00309 
<a name="l00312"></a>00312         <span class="keywordtype">bool</span> checkAngleInRange(<span class="keywordtype">double</span> angle);   
<a name="l00313"></a>00313         <span class="keywordtype">bool</span> checkEncoderInRange(<span class="keywordtype">int</span> encoder);
<a name="l00314"></a>00314 
<a name="l00317"></a>00317         <span class="keywordtype">void</span> inc(<span class="keywordtype">int</span> dif, <span class="keywordtype">bool</span> wait = <span class="keyword">false</span>, <span class="keywordtype">int</span> tolerance = 100, <span class="keywordtype">long</span> timeout = <a class="code" href="kmlBase_8h.html#ad6ffe504357959900a023228f12b10ae" title="timeout symbol for &amp;#39;endless&amp;#39; waiting">TM_ENDLESS</a>);
<a name="l00320"></a>00320         <span class="keywordtype">void</span> dec(<span class="keywordtype">int</span> dif, <span class="keywordtype">bool</span> wait = <span class="keyword">false</span>, <span class="keywordtype">int</span> tolerance = 100, <span class="keywordtype">long</span> timeout = <a class="code" href="kmlBase_8h.html#ad6ffe504357959900a023228f12b10ae" title="timeout symbol for &amp;#39;endless&amp;#39; waiting">TM_ENDLESS</a>);
<a name="l00323"></a>00323         <span class="keywordtype">void</span> mov(<span class="keywordtype">int</span> tar, <span class="keywordtype">bool</span> wait = <span class="keyword">false</span>, <span class="keywordtype">int</span> tolerance = 100, <span class="keywordtype">long</span> timeout = <a class="code" href="kmlBase_8h.html#ad6ffe504357959900a023228f12b10ae" title="timeout symbol for &amp;#39;endless&amp;#39; waiting">TM_ENDLESS</a>);
<a name="l00324"></a>00324 
<a name="l00327"></a>00327         <span class="keywordtype">void</span> waitForMotor(<span class="keywordtype">int</span> tar, <span class="keywordtype">int</span> encTolerance = 100, <span class="keywordtype">short</span> mode = 0, <span class="keywordtype">int</span> waitTimeout = <a class="code" href="kmlBase_8h.html#ad6ffe504357959900a023228f12b10ae" title="timeout symbol for &amp;#39;endless&amp;#39; waiting">TM_ENDLESS</a>);
<a name="l00328"></a>00328 
<a name="l00331"></a>00331         <span class="keywordtype">void</span> incDegrees(<span class="keywordtype">double</span> dif, <span class="keywordtype">bool</span> wait = <span class="keyword">false</span>, <span class="keywordtype">int</span> tolerance = 100, <span class="keywordtype">long</span> timeout = <a class="code" href="kmlBase_8h.html#ad6ffe504357959900a023228f12b10ae" title="timeout symbol for &amp;#39;endless&amp;#39; waiting">TM_ENDLESS</a>);
<a name="l00334"></a>00334         <span class="keywordtype">void</span> decDegrees(<span class="keywordtype">double</span> dif, <span class="keywordtype">bool</span> wait = <span class="keyword">false</span>, <span class="keywordtype">int</span> tolerance = 100, <span class="keywordtype">long</span> timeout = <a class="code" href="kmlBase_8h.html#ad6ffe504357959900a023228f12b10ae" title="timeout symbol for &amp;#39;endless&amp;#39; waiting">TM_ENDLESS</a>);
<a name="l00337"></a>00337         <span class="keywordtype">void</span> movDegrees(<span class="keywordtype">double</span> tar, <span class="keywordtype">bool</span> wait = <span class="keyword">false</span>, <span class="keywordtype">int</span> tolerance = 100, <span class="keywordtype">long</span> timeout = <a class="code" href="kmlBase_8h.html#ad6ffe504357959900a023228f12b10ae" title="timeout symbol for &amp;#39;endless&amp;#39; waiting">TM_ENDLESS</a>);
<a name="l00338"></a>00338 
<a name="l00341"></a>00341         <span class="keywordtype">void</span> resetBlocked();
<a name="l00342"></a>00342 
<a name="l00343"></a>00343 
<a name="l00347"></a>00347     <span class="keywordtype">void</span> sendSpline(<span class="keywordtype">short</span> targetPosition, <span class="keywordtype">short</span> duration, <span class="keywordtype">short</span> p1, <span class="keywordtype">short</span> p2, <span class="keywordtype">short</span> p3, <span class="keywordtype">short</span> p4);
<a name="l00348"></a>00348 
<a name="l00353"></a>00353         <span class="keywordtype">void</span> sendFourSplines(<span class="keywordtype">short</span> targetPosition, <span class="keywordtype">short</span> duration, std::vector&lt;short&gt;&amp; coefficients);
<a name="l00354"></a>00354 
<a name="l00355"></a>00355 
<a name="l00358"></a>00358         <span class="keywordtype">void</span> setSpeedLimits(<span class="keywordtype">short</span> positiveVelocity, <span class="keywordtype">short</span> negativeVelocity);
<a name="l00359"></a><a class="code" href="classCMotBase.html#a5933a4969e35d68d0d45f51e010fee30">00359</a>         <span class="keywordtype">void</span> <a class="code" href="classCMotBase.html#a5933a4969e35d68d0d45f51e010fee30">setSpeedLimit</a>(<span class="keywordtype">short</span> velocity) { setSpeedLimits(velocity, velocity); }
<a name="l00360"></a>00360 
<a name="l00363"></a>00363         <span class="keywordtype">void</span> setAccelerationLimit( <span class="keywordtype">short</span> acceleration );
<a name="l00364"></a>00364         
<a name="l00367"></a>00367         <span class="keywordtype">void</span> setPwmLimits(<a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a> maxppwm, <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a> maxnpwm);
<a name="l00368"></a>00368         
<a name="l00371"></a>00371         <span class="keywordtype">void</span> setControllerParameters(<a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a> kSpeed, <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a> kPos, <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a> kI);
<a name="l00372"></a>00372         
<a name="l00375"></a>00375         <span class="keywordtype">void</span> <a class="code" href="classCKatBase.html#a250a1c948e984f721e8c35bd099c0cd2" title="set collision limits">setCrashLimit</a>(<span class="keywordtype">int</span> limit);
<a name="l00377"></a>00377         <span class="keywordtype">void</span> setCrashLimitLinear(<span class="keywordtype">int</span> limit_lin);
<a name="l00379"></a>00379         <span class="keywordtype">void</span> <a class="code" href="classCKatBase.html#ae9ea9bb46243d7c59aeed6c3b0c87a0d" title="set collision speed limits">setSpeedCollisionLimit</a>(<span class="keywordtype">int</span> limit);
<a name="l00381"></a>00381         <span class="keywordtype">void</span> <a class="code" href="classCKatBase.html#a515ecede8c1a63d47c83ada865194a28" title="set collision position limits">setPositionCollisionLimit</a>(<span class="keywordtype">int</span> limit);
<a name="l00382"></a>00382 
<a name="l00389"></a>00389         <span class="keywordtype">void</span> getParameterOrLimit(<span class="keywordtype">int</span> subcommand, <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>* R1, <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>* R2, <a class="code" href="cdlBase_8h.html#a0c8186d9b9b7880309c27230bbb5e69d" title="type specification (8 bit)">byte</a>* R3);
<a name="l00390"></a>00390 };
<a name="l00391"></a>00391 
<a name="l00392"></a>00392 
<a name="l00393"></a>00393 <span class="preprocessor">#endif</span>
</pre></div></div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="kmlMotBase_8h.html">kmlMotBase.h</a>      </li>
      <li class="footer">Generated on Tue Feb 8 2011 for KatanaNativeInterface by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </li>
    </ul>
  </div>

</body>
</html>