Release Notes
Table of contents
- Release 2-14 (Jun. 5 2023)
- Release 2-13-5 (Oct. 5 2020)
- Release 2-13-4 (Apr. 20 2020)
- Release 2-13-3 (Jun. 14 2019)
- Release 2-13-2 (Apr. 3 2019)
- Release 2-13-1 (Jun. 5 2018)
- Release 2-13 (Dec. 5 2017)
- Release 2-12
- Release 2-11
- Release 2-10
- Release 2-9-3
- Release 2-9-2
- Release 2-9-1
- Release 2-9
- Release 2-8-1
- Release 2-8
- Release 2-7
- Release 2-6-1
- Release 2-6
- Release 2-5-3
- Release 2-5-2
- Release 2-5-1
- Release 2-5
- Release 2-4
- Release 2-3
Release 2-14 (Jun. 5 2023)
- APSU variable mask aperture slits – Added slit support for the APSU variable mask aperture.
- Flexure combined motion – Added support for APS combined motion flexure stages.
- filterDrive.st cleanup – Fixed unused variables.
- Documentation – Updated documentation to GitHub Pages.
Release 2-13-5 (Oct. 5 2020)
- iocsh file installation – Iocsh files now installed to top level folder from
opticsApp/iocsh.
Release 2-13-4 (Apr. 20 2020)
- Display file conversion – Autoconverted ADL screens to EDL and BOB formats.
Release 2-13-3 (Jun. 14 2019)
- Request file installation – Req files now installed to top level
dbfolder.
Release 2-13-2 (Apr. 3 2019)
- EPICS v7 compatibility – Updated record structure for EPICS v7.
- kohzuCtl speed improvements – Speeds now optional and input values are checked against limits before being set.
- XIA PFCU slit iocsh – New iocsh script for setting up XIA PFCU slits.
Release 2-13-1 (Jun. 5 2018)
- Display file organization – Autoconverted UI and CSS files are now in subfolders.
Release 2-13 (Dec. 5 2017)
- hrCtl.st limit calculation – Modified so that limits for energy and wavelength are calculated from limits of both phi1 and phi2 motors – whichever limit is more restrictive rules.
- kohzuCtl speed control – Modified
kohzuCtl.standkohzuCtl_soft.stso user can disable speed control. - kohzuCtl limit handling – Modified
kohzuCtl.standkohzuCtl_soft.stso entering a value for energy, lambda, or theta that will violate a limit does not put the mono into manual mode.
Release 2-12
- iocsh files – Added iocsh files for all support that requires more than just a database.
- orient.iocsh – Found that macros can be set for template files; added default substitutions file to demonstrate usage.
- Build configuration –
CONFIG_APPrenamed toCONFIG_SITE; revamped configure from base-3.15.4makeBaseAppexample. - kohzuSeq speed control PV – Enable/disable speed control via
$(P)KohzuSpeedCtrl. - Soft motor improvements – Modified
2slit_soft.vdbandtable_soft.vdbto allow more effective control by spec, especially in the setting (recalibration) of soft motor values. (kohzuSeq_soft.vdbdoes not have these changes.)
These soft motor changes require a version of the motor record with the
IGSET(ignore set) field.
- kohzuCtl_soft.st macro rename – Previously used macro variables
kohzuCtl_pmac*. Now useskohzuCtl_soft_pmac*.
Release 2-11
- Added support for slits, optical table, and Kohzu monochromator with soft motor record front ends:
2slit_soft,table*soft,kohzuCtl_soft. - Added support for Multilayer Laue stage: MLLH, MLLV.
- Modified
tableRecord.cto write to all motors every time.table_soft.vdbdepends on this;table.dbdoes not care.
Release 2-10
- tableRecord: Added the menu field
AUNIT, which allows user or developer to specify the units in which table angles AX, AY, and AZ are understood and displayed. The overall table orientation angle,YANG, must be in degrees. - When finding angle limits, explore +/- 80 degrees (previously +/- 5). If an angle that violates a motor limit cannot be found, set angle limit to +/- 89 degrees.
Release 2-9-3
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.table_settings.req: Was not including tweak values.- Spherical grating monochromator database: Changed
SGM$(N)to$(SGM), so user can give it any name, and to agree withSGM_settings.req.
Release 2-9-2
hrSeq.db: Crystal species was not implemented correctly (seq record neededTypeMO.RVAL, instead ofTypeMO.VAL).hrCtl.st: phi1MotRdbk was not converted to degrees before being used to init Phi1. Theta2 init was not honoring Geom switch. Fixed “when” statements that included expressions likeefTestAndClear() && delay(.1), which can fail because the delay has not expired. UsepvPut(, ASYNC)instead of motor.DMOVfields to check for completion.hrCtl.st: When motors are moved by a third party, drive “Moving”, and set to Manual mode when motors stop.sprintfoverwrote 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.
Release 2-9-1
filterDrive.st: AddedOUTGETfor separate readback of outputs; only move enabled filters. Removed trailing backslash characters from several lines (caused compiler failure on Windows).filterBladeNoSensor.db: AddedOutGetandOutSetrecords andOUT_STRINGandIN_STRINGmacro parameters so the database does not assume blade in=1 and blade out=0.filter.substitutions: AddedOUT_STRINGandIN_STRINGmacro parameters.
Release 2-9
- fb_epid – Support and documentation updated to help with deployment. Added simulation of a temperature controller as default configuration.
- Split
chantler.hintochantler.handchantler.c, so more than one program can use it. - Added
iocBootexample 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.
Release 2-8-1
hrSeq.db,hrCtl.stnow permits min/max theta to be specified via PVs.- Dropped
__VAR_ARGS__fromsncqxbpm.st, because different compilers handle this differently.
Release 2-8
2slit.db,2slit.adl,4slitGraphic.adl: AddedCoordSysrecord, andRELTOCENTERmacro which controls its value. IfCoordSys==0, the database is backward compatible with previous versions. Otherwise, both motors increase as the slit opens. Also added autosave-request file2slit_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. Changed the way I/O PVs are specified (
$(BP)$(Bn)instead of$(Bn)) to avoid vxWorks line-length limitations. 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 for coexistence with external software. - Changes for 64-bit architecture.
tableRecord.c: Compare user limits to (>SMALL), rather than to (==0).xiahsc.st: Added thevalidateResponsepatch to resolve the problem of temporary, incorrect, position readbacks. Modifications to build with seq 2.1.0.- Modified
RELEASE; deletedRELEASE.arch. - Added
.opidisplay files for CSS-BOY. sncqxbpm.st: Modifications to build with seq 2.1.0.
Release 2-7
SGM.dbhad some empty links that were specified as “0”, which produced link errors.table_setup_PNC.adlshowed origin in wrong position (at M1, instead of M0).- Added database and MEDM displays for a multilayer monochromator.
2slit.db,2postMirror.db: AddedDMOVPV, implemented using local gate PV.- Added
fb_epid.dbandfb_epid.adl: user-reconfigurable software feedback using the epid record, and related documentation. - Added
sncqxbpm.st,qxbpm.db,qxbpm.req,qxbpm*.adl: Support for the Oxford 4-channel X-ray Beam Position Monitor. xia-slit.db: Modified for updated slit support.seqPVmacros.h: Format changes.tableRecord.c: Commented out unused variables.
Release 2-6-1
- Added support for a multilayer monochromator.
XIA_shutter.db: User command was sometimes overwritten by a poll and dropped.
Release 2-6
- New support for XIA PF4 filter/shutter: rewritten to use asyn records instead of stringin/out records with stringParm device support. Also,
waitTimecalc 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.
2slit.db: Deleted gate-related PVs.table.db: Fixed problems that were causing motor records to be put into alarm:tweakValrecords hadUDF==1; calcout record had emptyCALCexpression.
Release 2-5-3
- Fixed problems in
table.dbthat caused the table to put motors into alarm.
Release 2-5-2
- Added MEDM display files for XIA PF4 filter, and fixed it to compile for vxWorks.
xia_slit.stwas not honoring limits written to the hardware.2slit.dbconverted to VDCT.
Release 2-5-1
- Added CoarseFineMotor database and MEDM display files.
- Fixed minor problems with xia_slit MEDM display.
- Added support for XIA PF4 dual filters.
- Added support for Io (ionization-chamber) calculation.
Release 2-5
- Added diffractometer support (orientation matrix).
- Added some documentation for slits, mirrors, filters, spherical grating monochromator, high-energy-resolution monochromator.
- Ported xia slit to EPICS 3.14, and improved its behavior when driven by
ca_put_callback().
Release 2-4
- 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 argumentQ. This is the same macro argument required bytable.db.
Release 2-3
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 the CVS histories of module contents were retained.
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:
- Converted to EPICS 3.14.
- Docs updated and moved to
optics/documentation. 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.