This latest patch changes the interface to three functions:
comedi_scxi_open
comedi_scxi_close
comedi_scxi_readwrite
With these three functions one can properly interface to all SCXI devices. If
you like the latest patch (3/23/04 07:14), please apply and close this bug.
Next up will be adding some generic analog and digital IO functions.
The new hotplug script uses comedi/usbdux.c for firmware upload and not fxload
any more. fxload is too unreliable and seems to be missing or different among
different distros. All users of usbdux boards report problems which are fxload
related. The new hotplug script simply uses comedi_config -i firmware.hex. This
fix also removes problems with the usbdevfs (race in 2.6, sleep, ...). The
usbdevfs is no longer needed.
The attached patch updates files in comedilib/swig/ruby. lib/comedi.rb is
updated to raise Ruby exceptions as indicated by the comedilib API
documentation. README and demo/cmd are updated accordingly.
Bugfix version of the firmware. When running ./cmd and ./ao_waveform at the same
time I got CRC errors on the USB. Reason: some registers in the FX2 need a
syncdelay. After a write to a register no other write is allowed to any other
register for a certain time. This is called "Syncdelay". Introduced syncdelays
for all EP registers. Now the CRC errors are gone.
Another bugfix: the byte for the CPUCS register was wrong (shifted one bit to
the left). This resulted in undefined processor speed. The speed was chosen just
by chance at power up (12Mhz,24Mhz,48Mhz).
Had to change the USB 2.0 transfer protocol from IRQ transfer to ISO transfer.
Reason: IRQ transfer is still not stable (2.4/2.6). However, ISO transfer has
been rewritten in the kernel and works (just now in 2.6 but will be backported
sooner or later)!
I supply new firmware and a new version of the driver which now uses ISO
transfer throughout (1.1 / 2.0).