Discovery

A module that provides methods for discovering brainstem modules over USB and TPCIP.

The discovery module provides an interface for locating BrainStem modules accross multiple transports. It provides a way to find all modules for a give transport as well as specific modules by serial number, or first found. The result of a call to one of the discovery functions is either a list of brainstem.link.Spec objects, or a single brainstem.link.Spec.

The Discovery module allows users to find specific brainstem devices via their serial number, or a list of all devices connected to the host via usb or on the same subnet via TCP/IP. In all cases a Spec object is returned with connection details for the device. In addition do connection details, the BrainStem model is returned. This model is one of a list of BrainStem device model numbers which are accessible via the defs module.

A typical interactive python session finding all connected USB modules might look like the following.

>> import brainstem >> module_list = brainstem.discover.findAllModules(brainstem.link.Spec.USB) >> print [str(s) for s in module_list] [‘Model: 4 LinkType: USB(serial: 0xCB4A3B25, module: 0)’, ‘Model: 13 LinkType: USB(serial: 0x40F5849A, module: 0)’]

For an overview of links, discovery and the Brainstem network see the Acroname BrainStem Reference

brainstem.discover.findAllModules(transports)[source]

Return a list of Specs for all modules found on the transports given.

Transports can be presented as a list, and the results would be a list of all modules found for those transports. TCPIP modules take a little longer to find due to the Multicast and gather necessary for finding modules on the local network segment.

Parameters:transports (list(int)) – A list of transports or a single transport.
Returns:A list of the Specs for all modules found.
Return type:list(Spec)
brainstem.discover.findFirstModule(transport)[source]

Return the Spec for the first module found on the given transport.

TCPIP modules take a little longer to find due to the Multicast and gather necessary for finding modules on the local network segment.

args:
transport (int): One of USB or TCPIP.
return:
Spec: The connection spec of the first module found on the
given transport.
brainstem.discover.findModule(transports, serial_number)[source]

Return the Spec for the module with the given serial number.

Transports can be presented as a list. TCPIP modules take a little longer to find due to the Multicast and gather necessary for finding modules on the local network segment.

Parameters:
  • transports (list(int)) – A list of transports or a single transport.
  • serial_number (int) – The module serial_number to look for.
Returns:

The connection spec for the module whose serial number is

given in the args.

Return type:

Spec