System

API Documentation: [cpp] [python] [.NET] [CCA] [REST]

Every BrainStem module includes a single system entity. The system entity allows the retrieval and manipulation of configuration settings like the module address and input voltage, control over the user LED, as well as other functionality.


Serial Number

Every USB-C-Switch is assigned a unique serial number at the factory. This facilitates an arbitrary number of USB-C-Switch devices attached to a host computer. The following method call can retrieve the unique serial number for each device.

stem.system.getSerialNumber(serialNumber) [cpp] [python] [NET] [CCA] [REST]

Hardware Version

Get the module’s hardware version information.

stem.system.getHardwareVersion(hardwareVersion) [cpp] [python] [NET] [CCA] [REST]

The hardware version is a 32-bit value that encodes hardware revision and variant information. The format is:

Hardware Version Bit Fields

Bits

Field

Description

24-31

Revision

Hardware revision identifier

16-23

Reserved

Reserved (always 0)

8-15

Variant

Hardware variant identifier

0-7

Reserved

Reserved (always 0)

Hardware Revision Values

Value

Description

‘B’

Revision B

‘C’

Revision C

‘D’

Revision D

Hardware Variant Values

Value

Description

‘P’

Passive

‘R’

Basic Redriver

‘S’

Redriver with SBU measurements

‘I’

Redriver and Isolator with SBU Measurements

The hardware revision is determined by reading hardware strapping pins during initialization. The daughtercard variant is detected by reading the daughtercard type and available features (SBU ADC, USB2 isolator) to identify the specific daughtercard configuration.


Saved Settings

Some entities can be configured and saved to non-volatile memory. This allows a user to modify the startup and operational behavior for the USB-C-Switch away from the factory default settings. Saving system settings preserves the settings as the new default. Most changes to system settings require a save and reboot before taking effect. For example, upstream and downstream USB Boost settings will not take effect unless a system save operation is completed, followed by a reset or power cycle. Use the following command to save changes to system settings before reboot:

stem.system.save() [cpp] [python] [NET] [CCA] [REST]

Saved Configurations

USB Mode (usb)

Equalizer Configuration (equalizer)

Mux Split Mode (mux)

Mux Enable (mux)

Mux Configuration (mux)

Mux Port (mux)