PortMapping.h

group PortMapping

BrainStem Port Mapping Interface.

PortMapping.h provides an interface for usb descriptor information of devices downstream of Acroname hub products.

enum PORT_SPEED

Port speed enumeration

Values:

enumerator kPORT_SPEED_UNKNOWN

kPORT_SPEED_UNKNOWN (0)

enumerator kPORT_SPEED_LOW

kPORT_SPEED_LOW (1)

enumerator kPORT_SPEED_FULL

kPORT_SPEED_FULL (2)

enumerator kPORT_SPEED_HIGH

kPORT_SPEED_HIGH (3)

enumerator kPORT_SPEED_SUPER

kPORT_SPEED_SUPER (4)

enumerator kPORT_SPEED_SUPER_PLUS

kPORT_SPEED_SUPER_PLUS (5)

struct DeviceNode

Device Node Structure - Contains information linking the downstream device to the Acroname Hub.

Public Members

uint32_t hubSerialNumber

Serial number of the Acroname hub where the device was found.

uint8_t hubPort

Port of the Acroname hub where the device was found.

uint16_t idVendor

Manufactures Vendor ID of the downstream device.

uint16_t idProduct

Manufactures Product ID of the downstream device.

PORT_SPEED_t speed

The devices downstream device speed.

char productName[255]

USB string descriptor

char serialNumber[255]

USB string descriptor

char manufacturer[255]

USB string descriptor

aErr getDownstreamDevices(DeviceNode_t *deviceList, uint32_t deviceListLength, uint32_t *devicesFound)

Gets downstream device USB information for all Acroname hubs.

Parameters:
  • deviceList – Pointer to the start of a list/array to be used by the function.

  • deviceListLength – Size of the list/array in DeviceNode_t’s, not bytes.)

  • devicesFound – The number of DeviceNode_t’s that were populated.

Returns:

aErrNone on success

  • aErrParam: Passed in values are not valid. (NULL, size etc).

  • aErrMemory: No more room in the list

  • aErrNotFound: No Acroname devices were found.