optics Release Notes
- tableRecord.c: User-limit was broken, which in some cases prevented
effective use of "Set/Use" and "Zero" features. As part of the fix, relative
user limits (e.g., UHAXR) have been added to supplement the previously supported
absolute limits (e.g., UHAX).
- tableRecord.c: Newport geometry sometimes gave unphysical angle readbacks
when M0Y and M2Y had exactly the same value. Thanks to Mark Rivers for
isolating the condition in which this occurred.
- table_settings.req: wasn't including tweak values.
- Spherical grating monochromator database: changed SGM$(N) to $(SGM), so user
can give it any name, and to agree with SGM_settings.req.
- hrSeq.db: Crystal species wasn't implemented right (seq record needed TypeMO.RVAL,
instead of TyoeMO.VAL)
- hrCtl.st: phi1MotRdbk wasn't converted to degrees before being used to init Phi1.
Theta2 init wasn't honoring Geom switch. Fixed "when" statements that included
expressions like "efTestAndClear() && delay(.1)", which can fail because delay hasn't
expired, and then fail because flag was cleared. Use pvPut(, ASYNC) instead of motor.DMOV
fields to check for completion.
- hrCtl.st: When motors moved by third party, drive "Moving", and set to Manual mode
when motors stop. sprintf overwrote end of string.
- orient_st.st: User messages were overflowing string fields.
- MLLH, MLLV: New databases and display files for Multilayer Laue Lens
instrument. The databases are also examples of using multiple soft motors to
control multiple hard motors through transforms.
- filterDrive.st: Added OUTGET for separate readback of outputs; only move
enabled filters. Removed trailing backslash characters from several lines,
caused compiler failure on Windows.
- filterBladeNoSensor.db: Added OutGet and OutSet records and OUT_STRING and
IN_STRING macro parameters so the database does not assume blade in=1 and blade
- filter.substitutions: Added OUT_STRING and IN_STRING macro parameters
fb_epid updated (2012-02-29):
- Support and documentation updated to help with deployment.
- Added simulation of a temperature controller as default configuration.
- TODO: Consider replacing swait records with calcout from EPICS base.
- Split chantler.h into chantler.h and chantler.c, so more than one program
can use it.
- Added iocBoot examples code
- Added Christian Schlepuetz' support for the XIA PF4 filter, which draws from
support developed by David Maden, Jon Tischler, Pete Jemian, and Tim Mooney.
- Fixed initialization problems in SGM database, and converted to VDCT.
- Added CSS-BOY and caQtDM display files
- hrSeq.db, hrCtl.st now permits min/max theta to be specified via PVs
- Dropped __VAR_ARGS__ from sncqxbpm.st, because different compilers do this differently.
- 2slit.db, 2slit.adl, 4slitGraphic.adl: Add CoordSys record, and
"RELTOCENTER" macro which controls its value. If CoordSys==0, the database
is backward compatible with previous versions, and both motors move in the
lab frame (both increase in the same direction). Otherwise, both motors
increase as the slit opens.
Also added autosave-request file 2slit_settings.req.
- pf4 filter:
- Extensive modifications to support additional filter materials, and to
avoid having to specify I/O and energy PVs to both the SNL program and
to the MEDM-display files. Also, change the way I/O PVs are specified
('$(BP)$(Bn)' instead of '$(Bn)') to avoid vxWorks line-length
- Added transmission factor for each bank separately
- For new filter materials, show user raw absorption data (mu) as a
function of energy
- Display digital I/O bits, so we can coexist with external software that
independently manages I/O bits.
- Changes for 64-bit arch
- tableRecord.c: Compare user limits to (>SMALL), rather than to (==0)
- xiahsc.st: Added the validateResponse patch to xiahsc.st that I wrote for
unicat to resolve the problem of temporary, incorrect, position readbacks.
Modifications to build with seq 2.1.0: snc wasn't parsing sprintf call
correctly, so I put it behind '%%'.
- Modified RELEASE; deleted RELEASE.arch
- Added .opi display files for CSS-BOY
- sncqxbpm.st: Modifications to build with seq 2.1.0: delete variable
assignment and comma separator within macro.
- SGM.db had some empty links that were specified as "0", which produced link errors.
- table_setup_PNC.adl showed origin in wrong position (at M1, instead of M0).
- Added database and MEDM displays for a multilayer monochromator.
- 2slit.db, 2postMirror.db - Added DMOV PV, implemented using local gate PV.
- Added fb_epid.db and fb_epid.adl: user-reconfigurable software feedback
using the epid record, and related documentation fb_epid/*.
- Added sncqxbpm.st, qxbpm.db, qxbpm.req, qxbpm*.adl - Support for the Oxford
4-channel X-ray Beam Position Monitor, and related documentation qxbpm.html.
- xia-slit.db - Modified for update slit support
- seqPVmacros.h - format changes
- tableRecord.c - commented out unused variables
- Added support for a multilayer monochromator
- XIA_shutter.db - user command was sometimes overwritten by a poll and dropped
- New support for XIA PF4 filter/shutter: rewritten to use asyn records
instead of stringin/out records with stringParm device support. Also waitTime
calc (for serial record) was in milliseconds, but the serial record was
replaced by an asyn record, whose timeout is specified in seconds.
Database converted to vdct.
- Oxford 4-channel x-ray beam position monitor
- New support for an ASRP optical table
- optics/opticsApp/Db/2slit.db: deleted gate-related PV's
- optics/opticsApp/Db/table.db: Fixed problems that were causing motor
records to be put into alarm: tweakVal records had UDF==1; calcout record had
empty CALC expression.
Added CoarseFineMotor database and
MEDM display files
fixed minor problems with xia_slit
Added support for XIA PF4 dual
Added support for Io (ionization-chamber) calculation.
Added diffractometer support
Added some documentation for
slits, mirrors, filters, spherical grating monochromator,
Ported xia slit to EPICS 3.14, and improved its behavior when
driven by ca_put_callback().
Added table of fixed points
(points about which an optical table rotates) to table database,
request file, and medm displays
The save_restore include file, table_settings.req, now
requires the additional macro argument 'Q'. This is the same macro
argument required by table.db.
This is the first release of the synApps optics module.
Version numbering for this module begins with 2.3 because this module
was split from version 2.2 of the std module, and I wanted to retain
the CVS histories of module contents.
This version is intended to build with EPICS base 3.14.5, mpf
2.4.2, and std 2.3. Differences from software as previously released
in std 2.2:
Suggestions and Comments to:
Converted to EPICS 3.14
Docs updated and moved to
SGM.db - removed forward links
pointing nowhere (gdct artifacts).
kohzuSeq.db - added debug PV
$(P)KohzuCtlDebug. Fixed long-standing bug: if the theta motor was
moved by a very small amount (by external client not working through
kohzuCtl) this software would sometimes ignore the notification it
received from EPICS.
hrSeq.db - added debug PV $(P)HR$(N)CtlDebug. Fixed
long-standing bug: if a theta motor was moved by a very small amount
(by external client not working through hrCtl) this software would
sometimes ignore the notification it received from EPICS.
Mooney : (email@example.com)