The Pool object is the sardana server object which manages all other hardware level sardana objects related with motion control and data acquisition. This object is exposed to the world as a Tango device. It’s API consists of a series of methods (Tango commands) and members (Tango attributes) which allow external applications to create/remove/rename and monitor the different hardware level sardana objects.
The Pool could be seen as a kind of intelligent device container to control the experiment hardware. It has two basic features which are:
Hardware access using dynamically created/deleted devices according to the experiment needs
Management of some very common and well defined actions regularly done on a laboratory/factory (motion control, data acquisition, etc.)
Core hardware access¶
Most of the times, it is possible to define a list of very common objects found in most of the experiments. Objects commonly used to drive an experiment usually fit in one of the following categories:
Group of moveables
IORegister (a.k.a. discrete motor)
Each different controlled hardware object will also be exposed as an independent Tango class. The sardana device server will embed all these Tango classes together. The pool Tango device is the “container interface” and allows the user to create/delete classical Tango devices which are instances of these embedded classes.