====== BRUKER-OPUS ====== Package ''OPUS'' relates to control of Bruker 70v infrared spectrometer via the program OPUS. Hosted functions in IrElliSoft: ''MEASURE'' Needs 6 arguments, but they can be NIL - in that case, the global variable will be used automatically. Global settings of the measurement variables are accessible in the Opus device window of IrElliSoft. Setting arguments in the MEASURE function also changes the global values. * First argument is string with the opus xpm file name. Can be without path, which is used automatically. Must be with the .xpm suffix. * Second argument must be positive integer - number of scans. * Third argument must be positive number - the spectral resolution in cm-1. * Fourth argument is string with desired output file name, but without the suffix. * Fifth argument is string with the target folder for the output files. * Sixth argument is T or NIL, controls if the measurement will be stored into buffer (T) or will be just measured (NIL). >(opus::measure "fir.xpm" 20 4 "22jun06a0" "C:/DATA/2022/IR" T) ; defines new global variables "22jun06a0" ; returns the used filename >(opus::measure nil nil nil nil nil T) ; takes all parameters automatically, stores to buffer "22jun06b00" ; automatic file name according to our conventions ''WORKING?'' Simple predicate, returns NIL if the Opus device is idle, returns T when some operation is in progress. All the commands are non-blocking, so the script needs to explicitly wait until the operation is finished. >(opus::working?) NIL >(OPUS::MEASURE nil nil nil nil nil T) ; starts measurement "22jun06c00" >(opus::working?) ; while the measurement is being done T >(wait (opus::working?)) ; use LabLISP special operator WAIT, will block NIL ; returns NIL once the measurement is done ''START-RUN'' No arguments. Flags the automatic naming algorithm to increment the measurement numbers. ''END-RUN'' No arguments. Flags the automatic naming algorithm to end with the numbers. Next automatic file name will have increased letter. ''PACK-BUFFER'' No arguments. Packs the measured spectra to the traditional .big file format and saves it. ''PACK-DOP-BUFFER'' No arguments. Used in test of polarizers. From the measured spectra, calculates product of degrees of polarization of two used polarizers. Assumes first and every odd spectrum is maximum intensity with parallel polarizers. Second and every even spectrum should be minimum intensity with crossed polarizers. Produces .epdx file. ''CLEAR-BUFFER'' No arguments. Unload buffer spectra from OPUS and clears the internal buffer. Original Opus signal files are still saved. ''BUFFER-SIZE?'' No arguments. Returns number of spectra in the buffer. ''WHAT?'' No arguments. Returns string with information about the experiment. Used for user convenience. >(opus::what?) "22nov10a00 YBCO film on LAO, B=0T, T=300K, 75/45, 10 scans, reso 8, fir.xpm" ''SCANS'' Expects zero or one argument. With zero arguments, returns the preset number of scans. The one argument must be positive integer - the desired number of scans. Will set the global variable and returns the new number. Used in scripts for measurement without and with the static retarder, when proportionally higher number of scans is desired for the measurement with retarder. >(opus::scans) 10 >(opus::scans 20) 20