; $URL:$
; $Rev:$
; $Date:$

16AIO: sample application: notes

This application is designed to help evaluate use the Input Buffer Threshold
with variaous settings and usage options.



COMMAND LINE ARGUMENTS:

Continuous Testing:

	These options tell the application to perform testing repeatedly.

	-c		Continue testing until an error is encountered.

	-C		Continue testing even if errors are encountered.

	-m#		End contimuous testing after "#" minutes.

	-n#		End continuous testing after "#" test iterations.

Channel Selection:

	-1, -2, -4, -8, -16, -32

	These options set the number of input channels to be used. The application
	selects Single Ended input configuration to accomodate the 32 channel
	selection.

Sample Rate:

	-sr#	Configure the board for "#" samples per second.

Threshold Level:

	-th#	Set the Input Buffer Threshold Level to this value.

Test Duration:

	-p#		Monitor the Input Buffer Threshold Status for a period of "#"
			seconds.

Monitoring Method:

	-mp		Monitor the Threshold Status flag by POLLing the Input Buffer
			Control Register and examining the Threshold Status flag. While
			this method is inefficient, it may, depending on the OS, offer
			better performance. This is because it typically the task scheduler
			less often. This is teh default option.

	-mw		Monitor the Threshold Status flag by using the WAIT sercvice to
			wait for the Input Buffer Threshold Low-to-High interrupt. While
			this is the more efficient option, the WAIT service explicitely
			puts the thread to sleep. After the interrupt, the thread is
			scheduled to run, but actually doing so is dependent on other host
			activities.

			NOTE: Applications using the WAIT service may need to adjust the
			thread's execution priority to achieve desired performance levels.

Reset Threshold Status:

	-ra		Reset the Threshold Status flag by reading the data via the API
			aio_read() call. This is the actions most application's will use.
			See the retrieval options below.

	-rc		Reset the Threshold Status flag by clearing the input buffer. This
			is provided for testing purposes. Clearing the buffer is a firmware
			feature that does take some time to complete. While the buffer is
			being cleared, some new sample data may be lost, thus delaying the
			next Threshold Status flag assertion. This is the default option.

	-ri     Ignore the condition and do nothing. This is provided for testing
			purpose. With this option, the status flag will never be cleared
			and the monitoring will not make another detection.

	-rr     Reset the Threshold Status flag by manually reading the Input Data
			Buffer Register. The number of values read eqauls the threshold
			setting. There are cases where this is the more efficient option,
			but that would typically only be with very small threshold
			settings.

Data Transfer Options:

	-pio	When using the -ra option, read data using PIO. This is usually
			much faster than the -rr option.

	-dma    When using the -ra option, read data using DMA. This is usually
			far faster than the -pio option.

			NOTE: Internally, the driver will automatically revert to PIO for
			data transfers of 32 samples or less. This is because PIO offers
			better performance with very small transfers.
