1.) Modified macro system as to use only Sicsunknown for resolving unknown

Tcl commands. Removed the broken obTcl object system and replaced it by
    the object.tcl system from sntl. Redid the scan command with this. The
    end of this is that SICS is now independent of the tcl version and
    works with tcl 8.0 thus giving a factor of up to 10 in script execution
    speed.
2.) Added driving an angle through a translation table (object lin2ang)
This commit is contained in:
cvs
2000-02-25 16:21:41 +00:00
parent 9a7084ed23
commit 499af28298
37 changed files with 1221 additions and 11736 deletions

57
lin2ang.w Normal file
View File

@ -0,0 +1,57 @@
\subsection{lin2ang}
lin2ang is a virtual motor object which allows to drive an angle
through a translation table. In ist first incarnation this is meant
for TOPSI but this may be useful in other places as well. The
displacement x is calculated from the formula: $ x = L sin 2\theta $
with L being the length of the arm around which the angle
pivots. This must be a configurable parameter.
lin2ang's datastructure is quite simple:
\begin{verbatim}
typedef struct __LIN2ANG {
pObjectDescriptor pDes;
pIDrivable pDriv;
pMotor lin;
float length;
}Lin2Ang;
\end{verbatim}
The fields are:
\begin{description}
\item[pDes] The standard SICS object descriptor.
\item[pDriv] The drivable interface which hides most of the
functionality of this object.
\item[lin] The translation table motor to use for driving the angle.
\item[length] The length of the arm around which the angle pivots.
\end{description}
The interface to this is quite simple, most of the functionality is
hidden in the drivable interface. Basically there are only the
interpreter interface functions.
@d lin2angint @{
int MakeLin2Ang(SConnection *pCon, SicsInterp *pSics, void *pData,
int argc, char *argv[]);
int Lin2AngAction(SConnection *pCon, SicsInterp *pSics, void *pData,
int argc, char *argv[]);
@}
@o lin2ang.h @{
/*-------------------------------------------------------------------------
L I N 2 A N G
Drive an angle through a translation table. As of now only for
TOPSI.
copyright: see copyright.h
Mark Koennecke, February 2000
--------------------------------------------------------------------------*/
#ifndef LIN2ANG
#define LIN2ANG
#include "motor.h"
@<lin2angint@>
#endif
@}