I've written a simple linux driver for the 660x cards for use with comedi. At this point, the driver allows you to write and read 8, 16, and 32 bit values to and from specific offsets. I've got the 660x register-level programmer manual dated April 2002. Most of what I've tried (digital I/O, counters, etc.) works
just fine. I'm trying to use the card to read a quadrature encoded position sensor. X1 mode works fine, but I can't get X2 or X4 to work. Here are the register vaules I'm using to set the card up:
offset value function
0x090 0x000c reset counter 0 and 1
0x0b2 0x0001 select quadrature x1
0x00e 0x0061 arm counter
This works fine. The counter counts properly. I can reload the counter, etc. However, if I
change the second value to 0x0003 to get x4 mode or 0x0002 to get x2 mode the counter no longer counts properly. Is there something else I need to do to initialize x2 or x4 mode that isn't necessary for x1? I'd really like the extra resolution and would appreciate any help in getting this working.