# USB-ERB Series

The USB-ERB Series includes the following hardware:

- USB-ERB08
- USB-ERB24

The USB-ERB Series supports the following features.

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

Port I/O

Functions

UL: cbDIn(), cbDOut()

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

Python for Windows: d_in(), d_out()

PortNum

USB-ERB08: FIRSTPORTCL, FIRSTPORTCH

USB-ERB24: FIRSTPORTA, FIRSTPORTB, FIRSTPORTCL, FIRSTPORTCH

DataValue

USB-ERB08:0 to 15 for FIRSTPORTCL or FIRSTPORTCH

USB-ERB24: 0 to 255 for FIRSTPORTA or FIRSTPORTB, 0 to 15 for FIRSTPORTCL or FIRSTPORTCH

Bit I/O

Functions

UL: cbDBitIn(), cbDBitOut()

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

Python for Windows: d_bit_in(), d_bit_out()

PortType

FIRSTPORTA

BitNum

USB-ERB08: 16 to 23 on FIRSTPORTA

USB-ERB24: 0 to 23 on FIRSTPORTA

## 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 devices connected, use these functions to identify a particular device.

## Hardware considerations

##### Invert/non-invert switch (S1)

Do not change the state of the invert/non-invert switch (labeled S1) on a USB-ERB Series device while a program is running. The Universal Library stores the current state of this switch, and changing the switch setting while a program is running can cause unpredictable results.

##### Controlling relays on the USB-ERB08

USB-ERB Series hardware are output-only boards (no inputs), so setting the port direction is not required. The USB-ERB08 has two 4-bit ports (FIRSTPORTCL or FIRSTPORTCH). Each port controls four relays.

- To control four relays at a time, call DOut(), specify either FIRSTPORTCL or FIRSTPORTCH, and send a data value between 0 and 15. To control all 8 relays, make two consecutive DOut() calls.
- To control just one of the eight relays, call DBitOut(), specify FIRSTPORTA, and send a data value of either 0 or 1 and a bit number of 16 to 23. Bits 16 through 23 map to relays 1 through 8 on the USB-ERB08.

The relays are controlled in this way to allow code migration without changes when switching from the older CIO-ERB08 board to the USB-ERB08.