User Tools

Site Tools


ch3_lisp_host

Table of Contents

LabLisp Host

Lisp host is a mechanism for exposing functionality of Qt program as LabLISP functions. LabLispHost is a virtual Qt/C++ class that - when inherited - provides this mechanics. The approach is quite simple and modular in Qt/C++. Single Qt program can contain several LabLispHost classes, that are initialized at the program's startup.

In LabLISP, the host classes are implemented as LISP packages with symbols naming the hosted functions. These packages are available to the LabLISP environment from start of the hosting program.

At present, we have LabLISP tightly integrated in control programs for our infrared and THz ellipsometers. Program TellMagSoft controls combined THz and infrared magneto-ellipsometer TellMag in our lab at UniFr. Similar, but simpler program IrElliSoft controls our standard infrared ellipsometer (see below).

Each LabLISP host class provides simple package name and longer descriptive label for user convenience.

TellMagSoft

As the TellMag instrument consists of several subsystems, the LabLISP integrated to TellMagSoft has access to their control via several packages.

  • TMS - TELLMAGSOFT-DISPATCHER, control and data management functions of the software itself
  • GAGE - GAGE-COMPUSCOPE, control of acquisition card for the TD-THz part
  • STANDA - STANDA-CONTROLLER, multi-axis controller for polarizer motors
  • SMARACT - SMARACT-CONTROLLER, controller for the piezo beam positioners
  • OPUS - BRUKER-OPUS, communication with Bruker 70v OPUS software
  • TCON - LAKESHORE-TEMPERATURE-CONTROLLER, sample temperature control
  • MAGNET - CRYOMAGNETICS-MAGNET-CONTROLLER, control of magnetic field

IrElliSoft

The infrared ellipsometer has fewer components and IrElliSoft hosts following packages for their control:

  • ELLI - IR-ELLI-DISPATCHER, control and data management functions of the software itself
  • OPUS - BRUKER-OPUS, communication with Bruker 70v OPUS software. The control in IrElliSoft is bit upgraded from the older TellMagSoft version. In the future, both programs will use the same interface to opus.
  • TCON - SCIENTIFIC-INSTRUMENTS-TEMPERATURE-CONTROLLER, sample temperature control
  • PAM - POLA-ANA-MOTORS
  • FLIP - STATIC-COMPENSATOR-FLIPPER
  • RCE - MICOS-POLLUX-RCE, controller for the MIR rotating compensator

The device classes internally inherit from THardwareDevice which inherits the LabLispHost. THardwareDevice class provides C++ abstraction for controlled axes (motor positions, temperature, field) and some of the controller LabLispHosts then provide symbols representing those axes in LabLISP.

ch3_lisp_host.txt · Last modified: 2022/11/29 09:37 by prema

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki