## miniLAB 1008

The miniLAB 1008 supports the following features.

## Analog Input

Functions

UL: cbAIn(), cbAInScan(), cbALoadQueue()*, cbFileAInScan(), cbATrig()

UL for .NET: AIn(), AInScan(), ALoadQueue()*, FileAInScan(), ATrig()

Python for Windows: a_in(), a_in_scan(), a_load_queue(), a_trig()

*The channel-gain queues are limited to eight channel-gain pairs.

Options

BACKGROUND, BURSTIO**, BLOCKIO***, CONTINUOUS, EXTTRIGGER, NOCALIBRATEDATA

** BURSTIO cannot be used with the CONTINUOUS option. BURSTIO can only be used with sample count scans of 4096 or less.
*** The BLOCKIO packet size is 64 samples wide.

HighChan

0 to 7 in single-ended mode, 0 to 3 in differential mode

Rate

8000 hertz (Hz) maximum for BURSTIO mode. The rate is 1200 Hz maximum for all other modes.

When using cbAInScan() or AInScan(), the minimum sample rate is 100 S/s aggregate.

Range

Single-ended:

BIP10VOLTS (±10 volts)

Differential:

BIP20VOLTS (±20 volts) | BIP2PT5VOLTS (±2.5 volts)
BIP10VOLTS (±10 volts) | BIP2VOLTS (±2 volts)
BIP5VOLTS (±5 volts) | BIP1PT25VOLTS (±1.25 volts)
BIP4VOLTS (±4 volts) | BIP1VOLTS (±1 volts)

Pacing

Hardware pacing, internal clock supported.

## Triggering

Functions

UL: cbSetTrigger()

UL for .NET: SetTrigger()

Python for Windows: set_trigger()

TrigType

TRIGHIGH, TRIGLOW

Digital (TTL) hardware triggering supported. The hardware trigger is source selectable via InstaCal (AUXPORT inputs 0 - 3).

## Analog Output

Functions

UL: cbAOut(), cbVOut(), cbAOutScan()

UL for .NET: AOut(), VOut(), AOutScan()

Python for Windows: a_out(), v_out()

Count

(HighChan-LowChan)+1

HighChan

1

Range

Ignored - not programmable; fixed at UNI5VOLTS (0 to 5 V)

DataValue

0 to 1023

## Digital I/O

Click here to display a table of the port numbers and corresponding bit numbers that are set by the digital I/O functions for hardware designed with the 82C55 chip or 82C55 emulation.

Configuration Functions

UL: cbDConfigPort()

UL for .NET: DConfigPort()

Python for Windows: d_config_port()

PortNum

FIRSTPORTA, FIRSTPORTB, FIRSTPORTCL, FIRSTPORTCH

AUXPORT*

PortType

AUXPORT*

* Only AUXPORT is bitwise configurable on this board, and must be configured using cbDConfigBit() or cbDConfigPort() (or the UL for .NET functions DConfigBit() or DConfigPort()) before use for output.

Port I/O Functions

UL: cbDIn(), cbDOut()

UL for .NET: DIn(), DOut()

Python for Windows: d_in(), d_out()

PortNum

FIRSTPORTA, FIRSTPORTB, FIRSTPORTCL, FIRSTPORTCH

AUXPORT

DataValue

0 to 15 for AUXPORT, FIRSTPORTCL, or FIRSTPORTCH

0 to 255 for FIRSTPORTA or FIRSTPORTB

Bit I/O Functions

UL: cbDBitIn(), cbDBitOut()

UL for .NET: DBitIn(), DBitOut()

Python for Windows: d_bit_in(), d_bit_out()

PortType

AUXPORT

FIRSTPORTA

BitNum

0 to 3 on AUXPORT

0 to 23 on FIRSTPORTA

## Counter I/O

Functions

UL: cbCIn()*, cbCIn32(), cbCLoad()**, cbCLoad32()**

UL for .NET: CIn()*, CIn32(), CLoad()**, CLoad32()**

Python for Windows: c_in()*, c_in_32(), c_load()**, c_load_32()**

*Although cbCIn()/CIn()/c_in() are valid for use with this counter, cbCIn32()/CIn32()/c_in_32() may be more appropriate, since the values returned may be greater than the data types used by cbCIn() and CIn() can handle.

**cbCLoad()/cbCLoad32(), CLoad()/CLoad32(), c_load()/c_load_32() only accept Count=0. These functions are used to reset the counter.

CounterNum

1

Count

232-1 when reading the counter.

0 when loading the counter

cbCLoad() and cbCLoad32() / CLoad() and CLoad32() are used only to reset the counter for this board to 0. No other values are valid.

The Basic signed integers guidelines in the Digital Input/Output Hardware topic apply when using cbCIn() or CIn() for values greater than 32,767 and when using cbCIn32() or CIn32() for values greater than 2,147,483,647.

RegNum

LOADREG1

## Event Notification

Functions

UL: cbEnableEvent(), cbDisableEvent()

UL for .NET: EnableEvent(), DisableEvent()

Python for Windows: enable_event(), disable_event()

EventType

ON_SCAN_ERROR (analog input), ON_DATA_AVAILABLE, ON_END_OF_INPUT_SCAN

## Miscellaneous

Functions

UL: cbFlashLED()

UL for .NET: FlashLED()

Python for Windows: flash_led()

Causes the LED on a USB device to blink. When you have several USB devices connected to the computer, use this function to identify a particular device by making its LED blink.

## Configuration

This hardware supports device detection with the API. Refer to the InstaCal, API Detection, or Both? section for information about whether to use InstaCal or the API to detect and configure hardware.

#### InstaCal

Factory serial number

Listed as Factory Serial No. (read only)

Identifier

Identifier text box

Input mode

Input Mode drop-down combo box for single-ended or differential.

Trigger source

Trigger Source drop-down combo box of available channels.

Hardware version

Listed as Firmware Version (read only)

#### Programmable API Functions

Factory serial number

UL: cbGetConfigString()

ConfigItem = BIDEVSERIALNUM

UL for .NET: GetDeviceSerialNum()

Identifier

UL: cbGetConfig()

ConfigItem = BIUSERDEVIDNUM

UL for .Net: GetUserDeviceIdNum()

Python for Windows: get_config_string()

config_item = USERDEVIDNUM

Input mode

UL: cbAInputMode()

UL for .NET: AInputMode()

Python for Windows: a_input_mode

Trigger source

UL: cbGetConfig(), cbSetConfig()

ConfigItem = BIADTRIGSRC

ConfigVal = 0, 1, 2, 3

UL for .NET: GetAdTrigSource(), SetAdTrigSource()

ConfigVal = 0, 1, 2, 3

Python for Windows: get_config(), set_config()

config_item = ADTRIGSRC

config_val = 0, 1, 2, 3

Hardware version

UL: cbGetConfigString()

ConfigItem = BIDEVVERSION

DevNum = VER_FW_MAIN

UL for .NET: GetDeviceVersion()

Type = VersionType.FW_MAIN

Python for Windows: get_config_string()

config_item = DEVVERSION

dev_num = MAIN

## Hardware considerations

##### Resolution

When configured for single-ended mode, the resolution of the data is 11 bits (data values between 0 and 2,047). However, the Universal Library maps this data to 12-bit values, so the range of data is no different from the differential configuration. Consequently, the data returned contains only even numbers between 0 and 4,094 when the NOCALIBRATEDATA option is used.

##### BURSTIO

Allows higher sampling rates (up to 8000 Hz) for sample counts up to 4096. Data is collected into the miniLAB's local FIFO. Data is collected into the USB device's local FIFO. Data transfers to the PC don't occur until the scan completes. For BACKGROUND scans, the Count and Index returned by cbGetStatus() and GetStatus() remain 0, and STATUS=RUNNING until the scan finishes. The Count and Index are not updated until the scan is completed. When the scan is complete and the data is retrieved, cbGetStatus() and GetStatus() are updated to the current Count and Index, and Count = IDLE.

BURSTIO is the default mode for non-CONTINUOUS fast scans (aggregate sample rates above 1000 Hz) with sample counts up to 4096. BURSTIO mode allows higher sampling rates (up to 8000 Hz) for sample counts up to 4096. Non-BURSTIO scans are limited to a maximum of 1200 Hz. To avoid the BURSTIO default, specify BLOCKIO mode.

##### Continuous scans

When running cbAInScan() with the CONTINUOUS option, you should consider the packet size and the number of channels being scanned. In order to keep the data aligned properly in the array, make the total number of samples an integer multiple of the packet size and the number of channels.

##### Concurrent operations

Concurrent operations on a particular USB device are not allowed. If you invoke a UL or UL for .NET function on a USB device while another function is running on that USB device, the ALREADYACTIVE error is returned.