# BTH-1208LS

An OEM version of this device is also available:

- BTH-1208LS-OEM

The BTH-1208LS supports the following features. Unless otherwise indicated, the OEM version supports the same features as the standard version.

## 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, EXTCLOCK, EXTTRIGGER, HIGHRESRATE, NOCALIBRATEDATA, RETRIGMODE*, SCALEDATA, SINGLEIO

* RETRIGMODE can only be used with cbAInScan()/AInScan()/a_in_scan().

Mode

Single-ended and differential

HighChan

0 to 7 in single-ended mode

0 to 3 in differential mode

Count

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

Packet size

USB-only: Rate dependent. The default packet size is 32 samples. At higher rates, the packet size increases by a multiple of 32.

Rate

Continuous scan mode (hardware-paced): 0.014 Hz to 50 kHz (USB); 0.014 Hz to 1,024 Hz (Bluetooth).

BURSTIO mode: 0.014 Hz to 50 kHz (USB and Bluetooth up to 12k samples.)

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

TRIGPOSEDGE, TRIGNEGEDGE, TRIGHIGH, TRIGLOW

External digital (TTL) hardware triggering is supported. Use the TRIG input for the external trigger signal.

## Analog Output

Functions

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

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

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

Range

UNI2PT5VOLTS (0 to 2.5 volts)

HighChan

0 to 1

Count

Count must be equal to the number of channels in the scan.

DataValue

0 to 4,095

## Digital I/O

##### Port I/O

Functions

UL: cbDOut(), cbDIn()

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

Python for Windows: d_out(), d_in()

PortNum

AUXPORT (eight bits)

DataValue

0 to 255

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

## 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(), and c_load()/c_load32() only accept Count=0. These functions are used to reset the counter.

CounterNum

0

Count

232-1 when reading the counter.

0 when loading the counter.

cbCLoad()/CLoad() and cbCLoad32()/CLoad32() are only used to reset the counter for this device 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

LOADREG0

## 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 and analog output), 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 Measurement Computing device to blink. When you have several 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.

Calibration date

Listed as Calibrated (read only)

Firmware Version

Listed as Firmware Version (read only)

Radio firmware version

Listed as Radio Firmware Version (read only)

Note: Bluetooth settings are stored on the device, and can only be changed though InstaCal.

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

UL for .NET: GetDeviceVersion()

Type = VersionType.FW_MAIN

Type = VersionType.RADIO

Python for Windows: get_config_string()

config_item = DEVVERSION

dev_num = MAIN

dev_num = RADIO

Note: Bluetooth settings are stored on the device, and can only be changed though InstaCal.

## Hardware considerations

##### Channel-gain queue

The channel-gain queue is limited to 8 elements in single-ended mode, and 4 elements in differential mode. The channels specified must be unique and listed in increasing order. The gains may be any valid value.

##### BURSTIO mode

BURSTIO mode allows higher sampling rates for sample counts up to the size of the FIFO. The device FIFO holds 12,288 samples. Data is collected into the device local FIFO. For BACKGROUND scans, the Count and Index returned by cbGetStatus(), GetStatus(), and get_status() update as the data is transferred to the host.
When connected via Bluetooth, data may still be transferring for some time after 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.

BURSTIO is required for aggregate Rate settings above 100 kHz, but Count is limited to sample counts up to the size of the FIFO (12,288 samples).

##### Acquisition rate

Most systems can sustain rates of 1 kS/s aggregate in SINGLEIO mode.

##### HIGHRESRATE

Specify the HIGHRESRATE scan option to acquire data at a high resolution rate. When specified, the rate at which samples are acquired is in "samples per 1000 seconds per channel".

##### EXTCLOCK

The AICKI pin is configured for pacer input and provides the external pacer A/D clock signal.

##### Retriggering

Use the RETRIGMODE scan option to set up repetitive trigger events. Set the A/D trigger count with the cbSetConfig() ConfigItem option BIADTRIGCOUNT. For Python users, set the trigger count with the set_config() ADTRIGCOUNT config_item.

##### 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 input scans with the CONTINUOUS option, set the count to be an integer multiple of the number of channels in the scan in order to keep the data aligned properly in the array.

##### Using the digital bits as an alarm indicator to determine the connection status

Use the digital output options on the InstaCal Alarm Settings tab to set the state of each digital bit when an Ethernet connection to the host is established or lost.

##### Setting DAC channel values

Use the analog output options on the InstaCal Alarm Settings tab to set the value of one or both DAC channels when an Ethernet connection to the host is established or lost.