Python Middlelayer API

The Karabo Hash Dictionary

Accessing remote devices with proxies

The core functionality of the middle layer is to access other devices. This can also be done from the command line. Accessing other devices is done via proxies:

Accessing remote devices directly

There is also a second API without proxies to access remote devices. This is useful if many devices have to be accessed for only a short interaction, that does not warrant the overhead of creating a proxy. It should be noted that most of that overhead is to inquire the current state of devices. This is why there is no non-proxy version to inspect the state of a remote device, as for this it is more efficient to create a proxy.

Running devices on servers

Devices can be instantiated and shut down on other device servers.

Inspecting device servers

The command line, and devices which inherit DeviceClientBase keep track of all other running devices:

Working with devices

Functions are provided to work with devices or device proxies

Working with Configurations and Timestamps

Retrieve historic configuration information about a device:

Working with named configurations:

The command line also provides functions to compare device configurations:

Util functions

Utility functions are provided for convenience.

Writing a device

Synchronization

Synchronization primitives

Karabo descriptors

The atomic Karabo descriptors

Descriptor categories

The atomic data types are grouped by several categories. They are abstract classes only.

The atomic Karabo descriptors

The following descriptors represent the atomic data types that Karabo can handle:

Compound descriptors

Special descriptors

Karabo data types