USB System¶
API Documentation: [cpp] [python] [.NET] [LabVIEW]
The USBSystem class provides high level control of the lower level Port Entity
Upstream Control¶
The USBHub3p has the ability to designate one of the upstream ports (9-10) as the upstream connection. This is very useful for moving devices between hosts.
Enumeration Delay¶
Once a USB device is detected by the USBHub3p it is possible to delay its connection to an upstream host computer and subsequent enumeration on the USB bus. The enumeration delay can mitigate or eliminate host kernel instabilities by forcing devices to enumerate in slow succession, allowing a focus on validation of drivers and software. The enumeration delay is configured in milliseconds, representing the time delay between enabling each successive port. Enumeration delay is applied when the hub powers on or when a new upstream connection is made.
Data Behavior¶
The USBHub3p is capable of a few different behaviors for how it switches upstream port connections. It can auto switch based on port priority or have a fixed upstream port. The method in which these events are handled is referred to as data behavior.
List of Available Data Behaviors for USBHub3p
Behavior |
Value |
Define |
---|---|---|
Hard Coded |
0 |
usbsystemDataBehavior_HardCoded |
Reserved |
1 |
usbsystemDataBehavior_Reserved |
Port Priority |
2 |
usbsystemDataBehavior_PortPriority |
Hard Coded (Default Configuration)¶
The Hard Coded data behavior is used to fix the Upstream port to a single port and not allow it to move except for a command through the Set Upstream API.
Port Priority¶
The Port Priority data behavior prioritizes making the Upstream port the lowest numbered port on the USBHub3p that is capable of being an Upstream port.