# USB-1208LS

The USB-1208LS 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()

Options

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

*The packet size is based on the Options setting. When set to BLOCKIO, the packet size is 64 samples.

** BURSTIO can only be used with the number of samples (Count) set equal to the size of the FIFO or less. The USB-1208LS FIFO holds 4096 samples. BURSTIO cannot be used with the CONTINUOUS option.

HighChan

0 to 7 in single-ended mode

0 to 3 in differential mode

Count

In CONTINUOUS mode, Count must be an integer multiple of the packet size.

Rate

8000 Hz maximum for BURSTIO mode.

The maximum rate is 1200 Hz for all other modes.

When using cbAInScan() or AInScan(), the minimum sample rate is 100 Hz.

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)

## Triggering

Functions

UL: cbSetTrigger()

UL for .NET: SetTrigger()

Python for Windows: set_trigger()

TrigType

TRIGHIGH, TRIGLOW

External digital (TTL) hardware triggering is supported. Use the TRIG_IN input (pin # 18 on the screw terminal) for the external trigger signal.

## Analog Output

Functions

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

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

Python for Windows: a_out(), v_out(), a_out_scan()

Options

All settings are ignored

HighChan

0 to 1

Count

(HighChan - LowChan) + 1

Rate

All settings are ignored

Range

Ignore - Not programmable; fixed at UNI5VOLTS (0 to 5 volts)

DataValue

0 to 1023

## Digital I/O

This board has an 82C55 chip. 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

##### Port I/O

Functions

UL: cbDIn(), cbDOut()

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

Python for Windows: d_in(), d_out()

PortNum

FIRSTPORTA, FIRSTPORTB

DataValue

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

FIRSTPORTA

BitNum

0 to 15 for on FIRSTPORTA

## Counter I/O

Functions

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

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

Python for Windows: c_clear(), 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() can handle.

**cbCLoad()/cbCLoad32(), CLoad()/CLoad32(), and c_load()/c_load32() 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 only used to reset the counter for this device to 0. No other values are valid.

The Basic signed integers guidelines 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()

Event types

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, use this function to identify a particular device.

## 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.

Hardware version

Listed as Firmware Version (read only)

#### Programmable API Functions

Factory serial number

UL: cbGetConfigString()

ConfigItem = BIDEVSERIALNUM

UL for .NET: GetDeviceSerialNum()

Python for Windows: get_config_string()

config_item = DEVSERIALNUM

Identifier

UL: cbGetConfig()

ConfigItem = BIUSERDEVIDNUM

UL for .Net: GetUserDeviceIdNum()

Python for Windows: get_config()

config_item = USERDEVIDNUM

Input mode

UL: cbAInputMode()

UL for .NET: AInputMode()

Python for Windows: a_input_mode

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

##### Channel-gain queue

When using cbALoadQueue()/ALoadQueue(), the channel gain queue is limited to eight elements.

##### BURSTIO

BURSTIO mode allows higher sampling rates for sample counts up to the size of the FIFO. The USB-1208LS FIFO holds 4096 samples. Data is collected into the 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 Status = IDLE.

The USB-1208LS uses BURSTIO as the default mode for non-CONTINUOUS fast scans with sample counts up to the size of the FIFO (4096 samples). BURSTIO mode allows higher sampling rates for sample counts up to the size of the FIFO. Maximum Rate values of non-BURSTIO scans are limited (refer to the Rate option above). To avoid the BURSTIO default, specify BLOCKIO mode.

##### 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.

##### Continuous scans

When running an analog input scan with the CONTINUOUS option, set the total number of samples to be an integer multiple of the packet size and the number of channels in the scan. This ensures that the data is aligned properly in the array.

##### Concurrent operations

Concurrent operations are not allowed. If you invoke a function while another function is already running on the device, the ALREADYACTIVE error is returned.

##### Analog output

When you include both analog output channels in cbAOutScan()/AOutScan(), the two channels are updated simultaneously.