idx64cfg: Indexer64 Software Configuration Utility

Contents

  1. Invocation
  2. Introduction
  3. Description
  4. Syntax
  5. See Also

Invocation

        idx64cfg <inputfile> [<prefix>]

Introduction

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:

  1. <root>.tmc
  2. <root>col.tmc
  3. <root>flag.tmc
  4. <root>drv.cmd
  5. <root>.idx64

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.

Description

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.

Syntax

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.

See Also

Indexer64 Specification
Indexer64 Design Documentation


Return to Manuals Guide
Norton T. Allen

last updated: Fri Jan 14 08:38:45 2011 webmaster@huarp.harvard.edu
Copyright 2008 by the President and Fellows of Harvard College