The total setup is two 6602 boards and an old DIO 24 board. The DIO board is strictly used for writing out values, in this case 3 8-bit outputs to determine the direction of each motor and whether the motor is enabled. The 6602's control the motion of the motors, and also read in two 8 bit DIO lines.
I'm using DAQmx to configure the board (no GPCTR), and here's the gist of the program (since it's split into many subvi's):
DAQmx Create Channel (Dig In) with one channel for all lines on lines PFI <0-7>
DAQmx Create Channel (Count Out Freq) 500 Hz 0.5 duty
DAQmx Timing (Implicit) Continuous Samples
DAQmx Start (Dig In)
DAQmx Start (Counter)
DAQmx Read (Dig In) until a zero value is read for particular signal and write disable (DIO 24)
DAQmx Stop Counter
DIO Write (to change direction)
DAQmx Create Channel (Count Out Freq) 200 Hz 0.5 duty
DAQmx Timing (Implicit) Continuous samples
Same action then stop
What I've discovered is that if I configure one board first, then it will read and have the correct pulse generation, but then the other board will not output pulses when input is read.
I'm curious if this is a driver error. Since the following test program works for one board but not the other depending on which is configured first.