# USB-1208HS Series

The USB-1208HS Series includes the following devices:

- USB-1208HS
- USB-1208HS-2AO
- USB-1208HS-4AO

The USB-1208HS Series supports the following features:

## Analog input

Functions

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

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

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

Options

BACKGROUND, BLOCKIO, BURSTMODE, CONTINUOUS, EXTCLOCK, EXTTRIGGER, NOCALIBRATEDATA, RETRIGMODE, SCALEDATA, SINGLEIO

Packet size

Rate dependent. The default packet size is 256 samples. At higher rates, the packet size increases by a multiple of 256.

Count

Count must be an integer multiple of the number of channels in the scan.

Mode

Single-ended or differential

HighChan

0 to 7 in single-ended mode

0 to 3 in differential mode

Rate

1 MS/s, maximum

Range

Single-ended mode:

BIP10VOLTS (±10 volts)

BIP5VOLTS (±5 volts)

BIP2PT5VOLTS (±2.5 volts)

UNI10VOLTS (0 to 10 volts)

Differential mode:

BIP20VOLTS (±20 volts)

BIP10VOLTS (±10 volts)

BIP5VOLTS (±5 volts)

## Triggering

Functions

UL: cbSetTrigger()

UL for .NET: SetTrigger()

Python for Windows: set_trigger()

TrigType

TrigPosEdge, TrigNegEdge, TrigHigh, TrigLow

For information about how to set up repetitive trigger events, refer to Retriggering in the Hardware Considerations section below.

## Analog output (USB-1208HS-2AO and USB-1208HS-4AO only)

Functions

UL: cbAOut(), cbAOutScan()

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

Python for Windows: a_out(), a_out_scan()

Options

BACKGROUND, CONTINUOUS, EXTCLOCK, EXTTRIGGER, RETRIGMODE, SCALEDATA

Range

BIP10VOLTS (±10 Volts)

HighChan

USB-1208HS-2AO: 0 to 1

USB-1208HS-4AO: 0 to 3

Packet size

Rate dependent.

Count

Count must be an integer multiple of the number of channels in the scan.

Rate

1 MHz per channel, maximum

## Digital I/O

##### Configuration

Functions

UL: cbDConfigBit(), cbDConfigPort()

UL for .NET: DConfigBit(), DConfigPort()

Python for Windows: d_config_bit(), d_config_port()

PortNum

AuxPort

PortType

AuxPort

##### Port I/O

Functions

UL: cbDIn(), cbDOut()

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

Python for Windows: d_in(), d_out()

PortNum

AuxPort

DataValue

0 to 65,535

##### Bit I/O

Functions

UL: cbDBitIn(), cbDBitOut()

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

Python for Windows: d_bit_in(), d_bit_out()

PortType

AuxPort

BitNum

0 to 15 on AuxPort

## 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()

Note: Counters on these boards are zero-based (the first counter number is "0").

CounterNum

0 to 1

Count

232 when reading the counter.

LoadValue

0 when loading the counter.

cbCLoad()/cbCLoad32(), CLoad()/CLoad32(), and c_load()/c_load_32() are only used to reset the counter to 0. No other values are valid.

Refer to 16-bit values using a signed integer data type for information on 16-bit values using unsigned integers.

RegNum

LOADREG0, LOADREG1

## Timer

Functions

UL: cbPulseOutStart(), cbPulseOutStop()

UL for .NET: PulseOutStart(), PulseOutStop()

Python for Windows: pulse_out_start(), pulse_out_stop()

TimerNum

0

Frequency

0.0094 Hz to 20 MHz

DutyCycle

0 to 1, non-inclusive

InitialDelay

0 sec to 107.37 sec

IdleState

IDLE_LOW, IDLE_HIGH

PulseCount

0 to 232 – 1 (Refer to 32-bit values using a signed long data type for information on 32-bit values using unsigned long integers.)

Set to 0 to continuously generate pulses until PulseOutStop() is called.

## Event Notification

Functions

UL: cbEnableEvent() cbDisableEvent()

UL for .NET: EnableEvent() DisableEvent()

Python for Windows: enable_event(), disable_event()

Event types

UL: ON_DATA_AVAILABLE, ON_END_OF_INPUT_SCAN, ON_SCAN_ERROR, ON_END_OF_OUTPUT_SCAN

UL for .NET: OnDataAvailable, OnEndOfInputScan, OnScanError, OnEndOfOutputScan

## Miscellaneous

Functions

UL: cbFlashLED()

UL for .NET: FlashLED()

Python for Windows: flash_led()

Causes the LED on a Measurement Computing 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.

Hardware version

Listed as Firmware Version (read only)

Listed as FPGA 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: cbGetConfigString(), cbSetConfigString()

ConfigItem = BIUSERDEVID

maxConfigLen = up to 64 characters

UL for .Net: GetUserDeviceId(), SetUserDeviceId()

Python for Windows: get_config_string(), set_config_string()

config_item = USERDEVID

max_config_len = up to 64 characters

Input mode

UL: cbAInputMode()

UL for .NET: AInputMode()

Python for Windows: a_input_mode

Hardware version

UL: cbGetConfigString()

ConfigItem = BIDEVVERSION

DevNum = VER_FW_MAIN

DevNum = VER_FPGA

UL for .NET: GetDeviceVersion()

Type = VersionType.FW_MAIN

Type = VersionType.FPGA

Python for Windows: get_config_string()

config_item = DEVVERSION

dev_num = MAIN

dev_num = RADIO

dev_num = FPGA

## Hardware Considerations

##### Retriggering

Use RETRIGMODE with cbAInScan() to set up repetitive trigger events. Use the ConfigItem option BIADTRIGCOUNT with cbSetConfig() to set the A/D trigger count, and the ConfigItem option BIDACTRIGCOUNT to set the D/A trigger count. For Python users, use the ADTRIGCOUNT and DATRIGCOUNT config_items.

When using RETRIGMODE, set the values for Count and BIADTRIGCOUNT/ADTRIGCOUNT to an integer multiple of the number of channels in the scan, so that the entire buffer, or the portion of the buffer defined by the configItem, contains updated data.