PSI sics-cvs-psi_pre-ansto

This commit is contained in:
2003-06-13 00:00:00 +00:00
committed by Douglas Clowes
parent 2e3ddfb6c6
commit 3ffd0d8af4
1099 changed files with 318432 additions and 0 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
@}