============================================================ This directory contains a description of the /dev entries for the unipolar stepper motor controller. HARDWARE The unipolar stepper motor controller uses all four pins on a BaseBoard connector to control the four windings, A, B, C and D, of a stepper motor with a unipolar configuration. The four pins are assigned as coil A, coil B, coil C, and coil D. Outputs are INVERTED to match the power-on state of the FPGA. DEVICE NODES The device interface to the unipolar stepper motor controller offer direction, step rate, full/half steps, and programmable start and stop acceleration rates. .../config Stepper motor configuration include the mode of operation, the direction, and the step rate. The configuration format is [mode],[direction],[rate]\\n Three modes of operation are available: off, full-step, and half-step. The mode is specified as one of the words 'off', 'full', or 'half'. The first letter of each word can also be used. The off mode removes all power to the drivers. The power on default mode is off. The direction is given as 'forward' for a step sequence of ABCD and 'reverse' for a sequence of DCBA. The single letters 'f' and 'r' can also be used. The default is forward. The motor step rate is given in Hertz. The driver tries to use a step-rate as close as possible to the one specified. For example, a requested step-rate of 511 Hertz might result in an actual step rate of 500 Hertz. The step rate has 8 bits of accuracy, and a range from 4 Hertz to 1 MHz. Sample configuration lines include the following: off, forward, 400 half, reverse, 125 f,f,200 .../count A 12 bit integer with the number of steps to be taken. This is a read/write value. Setting this to zero stops the motor but leaves the coils energized. This value is decremented by one for each step (or half step) taken. The motor stops when the count reaches zero. A read of count show how many steps remain to be taken but be aware that latency in reading the value from the board means that the actual steps remaining are probably fewer that what is reported. .../addcount A 12 bit integer that is synchronously added to count. This is useful accurate movement where the number of steps is larger than will fit in the 12 bit count register. For example, to accurately step out 6000 steps, you would write 4000 to count, and then some time later write 2000 to addcount. This is a write-only register.