USB System Entity

API Documentation: [cpp] [python] [.NET] [LabVIEW]

The USBSystem class provides high level control of the lower level Port Entity

Upstream Connection (Get/Set)

usbsystem . setUpstream => (unsigned char) enable
usbsystem . getUpstream <= (unsigned char) enable

Many acroname products have multiple upstream port selections. This function is used to access and control that functionality.

Enumeration Delay (Get/Set)

usbsystem . getEnumerationDelay <= (unsigned int) ms_delay
usbsystem . setEnumerationDelay => (unsigned int) ms_delay

Gets/Sets the inter-port enumeration delay in milliseconds. The enumeration delay sequentially enables data and power to downstream ports after the defined delay time. After setting and saving this parameter all downstream ports will be initially disabled upon system power-on or reset. Similarly, if there is no upstream connection, all downstream ports will be disabled. When an upstream connection is applied, or after the system boots, the system will wait for the defined delay time and enable the lowest port number. The system will then wait for the defined delay time and then enable the next highest port. This behavior repeats until all ports are enabled.

Inconsistent behavior from race conditions may occur if enumeration delay is used in conjunction with Reflex programs which also manipulate the downstream port states. Care should be taken to ensure no conflicts between the enumeration delay and Reflex programs.

Enabled List (Get/Set)

usbsystem . getEnabledList <= (unsigned int) list
usbsystem . setEnabledList => (unsigned int) list

The enabled list function provides state and control over all lower ports enables. It is equivalent to calling calling get/set enabled from the PortClass on all ports at once. The returned variable is in a bit mapped format. Please see the product data sheet for specific bit meanings.

Mode List (Get/Set)

usbsystem . getModeList <= (unsigned int [NUM_PORTS]) list
usbsystem . setModeList => (unsigned int [NUM_PORTS]) list

The mode list function gives you access and control to all lover level port modes. It is equivalent to calling get/set mode from the PortClass on all ports at once.

State List (Get)

usbsystem . getModeList <= (unsigned int [NUM_PORTS]) list
usbsystem . setModeList => (unsigned int [NUM_PORTS]) list

The state list function gives you access and control to all lover level port states. It is equivalent to calling get/set state from the PortClass on all ports at once.

Power Behavior (Get/Set)

usbsystem . getPowerBehavior <= (unsigned char) behavior
usbsystem . setPowerBehavior => (unsigned char) behavior

The power behavior controls how power will be allocated to each lower level port. This behavior comes into play when the requested power of the system exceeds the available power. i.e. first come first server, even distribution, priority list. See the product datasheet for specific implementations.

Power Behavior Config (Get/Set)

usbsystem . getPowerBehaviorConfig <= (unsigned int []) config
usbsystem . setPowerBehaviorConfig => (unsigned int []) config

Some power behaviors require a list of parameters in order to operate. For instance in priority list mode the user can supply a list of port indexes to priorities for power. This feature is product specific and users should consult the manual for further details.

Data Role Behavior (Get/Set)

usbsystem . getDataRoleBehavior <= (unsigned char) behavior
usbsystem . setDataRoleBehavior => (unsigned char) behavior

Some Type-C ports are capable of being dual role ports (DRP). Meaning they are capable of being either a host or a device. The behavior defined here will determine if that is allowed, what happens if it is, and what occurs when a host goes away. Examples are: first come first serve, priority list, static/fixed selection, etc. See the product datasheet for specific implementations.

Data Role Behavior Config (Get/Set)

usbsystem . getDataRoleBehaviorConfig <= (unsigned int []) config
usbsystem . setDataRoleBehaviorConfig => (unsigned int []) config

Many of the data role behaviors require a list of parameters in order to operate. For instance in a static/fixed mode the config would indicate what port is the upstream connection.

Selector Mode (Get/Set)

usbsystem . getSelectorMode <= (unsigned char) mode
usbsystem . setSelectorMode => (unsigned char) mode

The selector mode defines what will happen if the external selector/trigger input is used. The selector input allows for physical (button) control of the Acroname product. This feature is product specific and users should consult the manual for further details.