\subsection{National Instruments PC-STEP}
%
\textit{Platform: Linux or Windows}
\newline

National Instruments PC-STEP cards were ISA-bus motion controllers
originally made by nuLogic.  This is an MX port I/O driver for communicating
with a PC-STEP card.  If you are running on Windows, then you may have
better luck using the MX drivers for the National Instruments ValueMotion
series of motor controllers, since they are currently supported by
National Instruments.

The PC-STEP family of drivers has two drivers:
\newline\newline
\textbf{pcstep} driver
\newline\newline
%
\newcommand{\MxFieldPcstepPortioZrecord}
{This is the name of the MX port I/O record used to communicate
with the PC-STEP card.}
%
\newcommand{\MxFieldPcstepBaseZaddress}
{The hexadecimal base address of the I/O ports used by the card.}
%
\newcommand{\MxFieldPcstepLimitZswitchZpolarity}
{This sets the polarity of the limit switches used by all of the motors.}
%
\newcommand{\MxFieldPcstepEnableZlimitZswitches}
{If this is set to 1, the limit switches are enabled.  If it is set to 0,
then the limit switches are not enabled.}
%
\MxPcstepDriverFields

\ \newline
\textbf{pcstep\_motor} driver
\newline
The PC-STEP card does not have non-volatile memory for storing motor
parameters, so they must be set directly in the MX database.
%
\newcommand{\MxFieldPcstepZmotorControllerZrecord}
{The name of the MX record that controls this PC-STEP card.}
%
\newcommand{\MxFieldPcstepZmotorAxisZid}
{The axis number for this motor.}
%
\newcommand{\MxFieldPcstepZmotorDefaultZspeed}
{The default speed for the motor.}
%
\newcommand{\MxFieldPcstepZmotorDefaultZbaseZspeed}
{The default base speed for the motor.}
%
\newcommand{\MxFieldPcstepZmotorDefaultZacceleration}
{The default acceleration for the motor.}
%
\newcommand{\MxFieldPcstepZmotorDefaultZaccelerationZfactor}
{The default acceleration factor for the motor.}
%
\newcommand{\MxFieldPcstepZmotorLinesZperZrevolution}
{Specifies the resolution of the encoder readout.}
%
\newcommand{\MxFieldPcstepZmotorStepsZperZrevolution}
{Specifies the number of steps per revolution for the motor.}
%
\newline\newline
\MxPcstepZmotorDriverFields
\newline

Here is an example database for the PC-STEP:
\newline
\begin{verbatim}
portio  interface portio linux_portio "" "" /dev/portio
nulogic interface generic pcstep "" "" portio 0x210 0xc0 0xc0
m1      device motor pcstep_motor "" "" 0 0 -20000000 20000000 0 -1 -1 0.0001 0 um nulogic 1 20000 500 10000 1 0 0
m2      device motor pcstep_motor "" "" 0 0 -20000000 20000000 0 -1 -1 0.0001 0 um nulogic 2 20000 500 10000 1 0 0
\end{verbatim}

