idx64cfg: Indexer64 Software Configuration Utility
Contents
- Invocation
- Introduction
- Description
- Syntax
- See Also
idx64cfg <inputfile> [<prefix>]
Idx64cfg is a code-generation utility that provides support for
data acquisition systems using the
Indexer64 board. Use of the Idx64
requires specialized code to control the device, and special code
to collect and display the data associated with it.
Given a single input file, idx64cfg will generate five
output files:
- <root>.tmc
- .tmc definitions that belong in tmcbase
- <root>col.tmc
- code required by collection
- <root>flag.tmc
- code for useful display of indexer data
- <root>drv.cmd
- definition of indexer drive names for commands
- <root>.idx64
- Initialization string to be referenced from interact
If the <root> is not specified, the default is
"idx".
Unlike most of our code generators, idx64cfg has not been
integrated into appgen, and will probably not be integrated
anytime soon. The main reasons for this are 1) that the source is
unlikely to change very often and 2) the most common changes only
affect the <root>.idx64 file. The "make" utility we are
using isn't clever enough to figure out that only one of the five
files has changed, and would instead try to recompile almost
everything in the directory whenever the input file is
modified.
Instead, idx64cfg is run manually to generate these source
files. Idx64cfg will compare the new and old output files
and only update the output files if their contents have changed.
After running idx64cfg, you should make again to determine
whether anything has changed.
- Indexer Status rate
mnemonic
- Defines the rate and mnemonic for the scan status word. The
defaults are 4 Hz and "IXStt", but it is recommended that you
define them explicitly. This word is maintained in software by
the idx64 software and records the scan and chop status for each
channel.
- Channel integer [ name ] [ Channel_Def ... ]
- Defines an indexer channel for subsequent definitions. The
integer is the channel number, counting from 0, based on the
physical address. For the first board, the channels are 0-5, for
the second, 6-11, etc. The name specifies how the drive should be
addressed in commands. Any Channel_Defs
should appear on following lines.
- Position rate mnemonic
- Defines the rate and mnemonic for the channel's step number.
If omitted, the step number will not be collected.
- Status rate mnemonic
[ Diagram mnemonic ]
[ KillStat mnemonic ]
- Defines the rate and mnemonic for the channel's drive status
word, which contains the status lines for the limit switches,
kill switches, direction, "running", zeroref and cmdenbl. If
omitted, the status word will not be collected. You may
optionally specify a mnemonic for a "Diagram" datum which, when
displayed, provides a simple graphic representation of the motion
of the channel and the status of the limit switches.
- Scanstat mnemonic
- Defines a mnemonic for the scan and chop data for this
channel. The data for this is extracted from the indexer status
word. Scanstat data displays in a text format.
- Speed Drive_Speed
- Specifies the default speed for the channel. The speed can be
modified interactively also.
- Disable Zeroref
- Used when there is no physical zero reference switch. This
instructs the hardware to use the in limit switch as the zero
reference.
- Swap Limits
- Exchanges the definition of which physical limit switch is
“in” and which is “out.”
- Invert Step
- Invert Direction
- Invert Run
- Applies an inversion to the step, direction or enable outputs, respectively. For step, this is usually irrelevant, since every step includes both a rising and falling edge. Inverting direction switches which direction is “in” and which is “out.”
- Invert In Limit
- Invert Out Limit
- Invert Zero Reference
- Invert Kill A
- Invert Kill B
- Inverts the associated input signal. These bits are only valid in
the DACS version of the indexer circuit.
- Scan
- Enables scanning for the channel and reserves a bit in the
indexer status word for the scan status.
- Chop
- Enables chopping for the channel and reserves 2 bits in the
indexer status word for chopping status.
Program
: [ Definition ... ]
Definition
: Indexer Status rate mnemonic
: Channel integer [ name ] [ Channel_Def ... ]
Channel_Def
: Position rate mnemonic
: Status rate mnemonic [ Diagram mnemonic ] [ KillStat mnemonic ]
: Scanstat mnemonic
: Speed Drive_Speed
: Disable Zeroref
: Swap Limits
: Invert Step
: Invert Direction
: Invert Run
: Invert In Limit
: Invert Out Limit
: Invert Zero Reference
: Invert Kill A
: Invert Kill B
: Scan
: Chop
rate
: integer [ / integer ] Hz
Drive_Speed
: 53 Hz
: 80 Hz
: 107 Hz
: 160 Hz
: 267 Hz
: 400 Hz
: 533 Hz
: 800 Hz
: 1067 Hz
: 1600 Hz
: 2133 Hz
: 3200 Hz
: 5033 Hz
: 8000 Hz
: 10667 Hz
: 16000 Hz
Lexical Elements
- integer
- A decimal integer
- mnemonic
- A word suitable to be used as a variable name in C and TMC.
- name
- The name of the drive as it should appear in commands. May
contain spaces.
Indexer64
Specification
Indexer64
Design Documentation
Return to Manuals Guide
Norton T. Allen