What is AcquireDIO?

AcquireDIO is a MATLAB mex file for MacOS which allows you to interface with National Instruments cards to do asynchronous data acquisition. You can tell it to go and the returned matrix will be filled "behind your back", while you go ahead and do other things with MATLAB.

When you type "AcquireDIO" at the MATLAB prompt, you get the following help:

Usage 1:
	[data times] = AcquireDIO(CardID,Samples,SamplesPerSecond,LoNibbleREQ,HiNibbleACK,DelayUSeconds)
	Asychronously acquires Samples of data at a SamplesPerSecond rate
	on the IOCard specified by CardID. Data is read from ports A (lo8) and B (hi8),
	and simple handshaking can be done on port C (details below).
		A Samples x 1 vector containing values 0-65535.
		A Samples x 1 vector containing timestamps in seconds.
		*Note: data and times vectors will be initialized to -1.000000.
		One returned by IOCard('GetCardIDs')-- see IOCard.
		The number of samples to acquire.
		How many samples to acquire per second.
		A value (1-15) to write on the lower 4 bits of Port C to request data. Not used if 0.
		A value (1-15) to read on the upper 4 bits of Port C to wait for before reading data. Not used if 0.
		Microseconds to wait before reading data. If HiNibbleACK isn't 0, will act as a timeout for the ACK.
		After DelayUSeconds Port C is reset to 0.

Usage 2:
		Stop an acquisition in progress.

Current support:
	National Instruments PCI-6503

Note on testing:
	If you want to test (no hardware necessary), use 'pci6503' as CardID. The times vector will still
	contain timestamps. The data vector will contain the actual delay time, which can be used to determine a lower limit.

What IO devices will AcquireDIO support?

So far only digital acquisition using the PCI-6503.

How do I get it?

AcquireDIO-8-6-01.sit.hqx[32k] (includes source)

Who's using it?

Ruskin Hunt, when he was a grad student in Dick Aslin's lab was (is?) using it to process signals coming in from an ingenious touch screen device he put together.
Last updated 10/2003