160 likes | 277 Views
The BLISS of Tango. J. Meyer European Synchrotron Radiation Facility (ESRF). Outline. Differences to Taco Latest Developments Interesting Features. The Tango Bliss by Misha Lenn. Differences to Taco. Three programming languages supported C++, Python, Java
E N D
The BLISS of Tango J. Meyer European Synchrotron Radiation Facility (ESRF) BLISS Day
Outline • Differences to Taco • Latest Developments • Interesting Features The Tango Bliss by Misha Lenn BLISS Day
Differences to Taco • Three programming languages supported • C++, Python, Java • Code generator, no more copy/paste • Fully multithreaded • Polling thread and data buffer in every server (integrated update daemon) • Events • Asynchronous group calls BLISS Day
Differences to Taco • Attributes for a generic data access • Data range, alarms, data validity, formatting • Dynamic attributes and commands • Abstract interface definition • Administration interface for every server • start and stop, configuration, black box BLISS Day
Latest Developments • Pogo 5.x can generate Python Tango device server code • Needs PyTango 3.0.2 and Tango 5.5.2 • Available from: ftp://ftp.esrf.fr/pub/cs/tango/Pogo • PyTango is available as a binary distribution for Windows (x86 32bit) • Needs Python 2.4.x and Tango 5.5.2 • http://www.tango-controls.org/bindings BLISS Day
Latest Developments BLISS Day
Latest Developments • Database with modification history • History values visible via Jive • Configurable depth of modification history BLISS Day
Latest Developments • Canone 2.3.0 : The Tango WEB interface • Based on PHP and AJAX (for widget refreshing) • http://www.elettra.trieste.it/~tango/Canone BLISS Day
Interesting Features • The Device Creation Wizard • A device server can start without any device defined • A device can be added to a running server BLISS Day
Interesting Features • Device configuration • Jive • Property files BLISS Day
Interesting Features • Abstract classes • Abstract interface definition • Can be a container for common code • Not yet available for Python BLISS Day
Interesting Features • General purpose classes • Presented by Katy Saintin from Soleil at the Tango collaboration meeting September 2006 • Averager Class : • Statistics and filtering on Tango scalar attributes • TangoParser Class: • Calculates a tango attribute from a list of attributes • The formula can be defined at runtime in a mathematical syntax BLISS Day
Interesting Features • General purpose classes • DataFitter Class • Fitting with Gaussian or Lorentzian functions • BeamImageAnalyzer Class • Beam box (bounding rectangle of the beam) • Approximation of the beam contour by an ellipse • Computation of moments from order 0 to 3 • Profiles against both axis and Gaussian fit of these profiles • 2D Gaussian fit of the image BLISS Day
Interesting Features • Dynamic class loading • Pogo generates a Makefile to fill an archive class library and to create a shared library module for the class • A shared C++ class module can be loaded into a python Tango server • A C++ server can also load a class from a shared class module BLISS Day
Interesting Features • Starter Server and Astor • Starting and stopping • Survey • Administration BLISS Day
Latest Developments • Tango access control • Implemented already in the Java API • Ongoing development for the C++ API BLISS Day