std Release Notes
Table of contents
- Release 3-6-4 (Jun. 5, 2023)
- Release 3-6-3 (Jun. 10, 2021)
- Release 3-6-2 (Oct. 5, 2020)
- Release 3-6-1 (Sep. 17, 2019)
- Release 3-6 (Jun. 14, 2019)
- Release 3-5-1 (Apr. 3, 2019)
- Release 3-5 (Jul. 10, 2018)
- Release 3-4-1 (Nov. 4, 2015)
- Release 3-4 (Jan. 13, 2015)
- Release 3-3 (Nov. 10, 2014)
- Release 3-2 (Apr. 17, 2013)
- Release 3-1 (Nov. 14, 2011)
- Release 3-0 (Sep. 15, 2011)
- Release 2-9 (Aug. 10, 2010)
- Release 2-8 (Mar. 30, 2010)
- Release 2-7 (Sep. 10, 2008)
- Release 2-6 (Sep. 10, 2008)
- Release 2-5-5 (April, 2007)
- Release 2-5-4 (Dec. 6, 2006)
- Release 2-5-3
- Release 2-5-2
- Release 2-4
- Release 2-3
The scaler record and its device support were moved to a separate SCALER module in Release 3-6-3. References to scaler code in older release notes below are historical.
Release 3-6-4 (Jun. 5, 2023)
- Fix ODEL logic in
devEpidSoftCallback.c. Same fix made fordevEpidSoft.cin R3-6-1. - Fix the display of hours and minutes in
countDownTimer - Documentation updated to GitHub Pages
Release 3-6-3 (Jun. 10, 2021)
- Scaler code moved to separate SCALER module
Release 3-6-2 (Oct. 5, 2020)
- bob and edl files added
- iocsh files now installed to top-level directory from
stdApp/iocsh
Release 3-6-1 (Sep. 17, 2019)
- Bugfix:
ODEL==0was causingOVALnot to change
Release 3-6 (Jun. 14, 2019)
- Fixes to epid record device support
devEpidFast.c: Changed behavior whenKI=0to match slow feedback, i.e. setI=0rather thanDRVLorDRVH.devEpidSlow.canddevEpidSoftCallback.c: Fixed comment describing behavior whenKI=0to match actual code since 2003, i.e. I term is set to 0, notDRVHorDRVL. Added deadband implementation usingODEL.
Release 3-5-1 (Apr. 3, 2019)
- Top level db directory is now created on build.
- Fixes to build under base v7
- Fixes to build with sequencer 2.2.6
- Fixed typos in adl files
Release 3-5 (Jul. 10, 2018)
- When counting is finished, post scaler values with
DBE_VALUE|DBE_LOG, after updating the time stamp. - New
iocshtop-level directory, contains scripts with the correct shell commands to add an individual device support to an IOC. For use with theiocshLoadcommand from EPICS base 3.15. Further information can be found at https://github.com/epics-modules/xxx/wiki/IOC-Shell-Scripts
Release 3-4-1 (Nov. 4, 2015)
pid_parameters.adl: addedHOPRandLOPRdelayCmd.cpp: added space for trailing null- Define
SYM_IS_TEXTfor vxWorks version < 6 invxcall.cpp(Thanks to Lewis Muir)
Release 3-4 (Jan. 13, 2015)
- Added function
vxCall(), so that all built-in vxWorks functions can be invoked from the IOC shell.
Release 3-3 (Nov. 10, 2014)
- Added function
doAfterIocInit(), so that databases paired with SNL programs can be specified in the same place. (Thanks to Keenan Lang) scalerRecord.c: useepicsUInt32instead ofunsigned longfor Sn and PRn fieldsdevScalerAsyn.c: Changed pointers fromunsigned longtoepicsUInt32; changes to avoid compiler warnings- Added displays for the aSub, compress, and sub records
- Translated .adl files for caQtDM and CSS-BOY
drvScalerSoft.c: modified to zero scaler-count PVs when scaler is started.- Added
scalerSoftCtrldatabase and settings file; addedsoftScaler.cmdexample of loading soft scaler into IOC. - Modified
4step.db, replacing hard-wired"4step:"with"$(Q)". Modified4step_settings.req, replacing"$(Q):"with"$(Q)".
Release 3-2 (Apr. 17, 2013)
- The sseq record was moved from the std module to the calc module, along with all of its databases, request files, and display files.
- Added general purpose selector (e.g., for mirror stripe)
selector.db, etc. misc.db– added two current time PVs,P:iso8601andP:datetimepvHistory.db– use Soft Timestamp device support, because it’s in baseepid.req– add autosave/restore request file for epid recordcountDownTimer.vdb– New calc engine in base requires?:expression to have both?and:devTimeOfDay.c– UseepicsTimeToStrftime, instead of to-be-deletedtsStampToText.selector.db,selector*.adl– general purpose selector- Added display files for CSS-BOY and caQtDM
Release 3-1 (Nov. 14, 2011)
- Added databases and MEDM-display files for genericState database.
Release 3-0 (Sep. 15, 2011)
- The scaler record no longer makes two calls to disarm the hardware (
dset->arm(0)) when the scaler completes counting normally. (Previously, the code supporting user abort of a count was also executed after normal completion.) - The sseq record can now treat array PVs whose elements are of type
DBF_CHARorDBF_UCHAR, as strings. Only the first 39 characters are handled, because the sseq record uses PVs of typeDBF_STRINGinternally. - Previously, sseq record links could wait or not wait for completion, before going on to the next action. Now links can wait for completion after a specified action. For example, you can execute the first two actions without waiting in between, and then wait for both to complete before processing the third action.
- The sseq record now displays the states of its DOL and LNK links.
- Previously the sseq record did not defend itself against the possibility that it would be executed by channel access and aborted by a PV link, which would cause the record to be executed again, immediately after the abort succeeded.
- Added support for
femto_DxPCA_x00Femto amplifier drvScalerSoft.c: The callback for done must pass the value 1, not 0- Added
userMbbo, a database of ten user-controlled menu choices. scaler16m.db: AddedCOPT=="Always"to$(P)$(S)_calc1(transform record)- Modified RELEASE; deleted RELEASE.arch
- Added .opi display files for CSS-BOY
Release 2-9 (Aug. 10, 2010)
ramp_tweak.dbhad an illegal link in its Init record.
Release 2-8 (Mar. 30, 2010)
fast_pid_control.db,devEpidFast.c: Added new parameters to theINPfield, because previously the DRV_USER strings for the data and time interval were hardcoded. The length of the resulting string now is too large forINPin many cases, so put some of it in theDESCfield, which is ugly.epidRecord.dbd– added fieldsTRIGandTVAL, which are used bydevEpidSoftCallback.cto support an asynchronous readback device by waiting for completion before getting the readback value.async_pid_control.db,async_pid_control_settings.db,async_pid_control.adl– new files to support pid control with an asynchronous readback device.sseq_settings.req– Added SCANdrvScaler974– new file for Ortec 974 scalerdevScalerAsyn.c– ignore callback when DONE==0, register callbacks on address 0.sseqRecord.c– fixed for 64-bit arch- No longer build
shareBase.dbd nameVal.adl,anyRecord.adl– new display files for any record type.- Deleted some unused .adl files
Release 2-7 (Sep. 10, 2008)
yySeq.adl,yySeq_full.adl– new files- genSub-record dependency replaced by aSub record in base 3.14.10
Release 2-6 (Sep. 10, 2008)
- The sseq record was failing to process immediately after a reboot, when ordered to process because of a CP input link.
- The gpibRecord has been replaced by the asynRecord, which is loaded from the asyn module.
- New databases:
alarmClock,autoShutter,countDownTimer,ramp_tweak,scaler16m - The sseqRecord (string Sequence, a variant of the seq record in EPICS base) can now be told to abort the sequence it’s executing.
- The scaler record has a new field,
COUTP, which is like theCOUTfield, but is not delayed by a nonzero setting of theDLYfield. - If the scaler-record
DLYfield was less than 1, it was not honored. (Thanks to Xuesong Jiao for the fix.) - New link-help displays do a better job of describing the effects on link attributes, particularly as they bear on completion detection (i.e., the behavior of data when written to by
ca_put_callback).
Release 2-5-5 (April, 2007)
- Added
scaler16m.dbdatabase, and corresponding MEDM displays. These differ fromscaler16.dband its display files only in the implementation of end calculations. The new support provides end calcs for all 16 signals. - New link-help displays.
- Added
pvHistoryRegistertostdSupport.dbd - Added field
COUTP, an output link, to the scaler record. This is similar to theCOUTlink, which sends the value of theCNTfield to its target wheneverCNTchanges.COUTPdiffers fromCOUTin that it doesn’t wait for the delay specified in theDLYfield, but sends promptly afterCNTchanges. - Minor change to
devScalerAsynto support change in API for asyn callbacks. - Minor change to
devEpidFastto support change in API for asyn callbacks. - Added
ramp_tweakdatabase and associated support
Release 2-5-4 (Dec. 6, 2006)
- Changes to scaler record:
PRnandSnfields are nowDBF_ULONGrather thanDBF_LONG.- No longer hardcode
VME_IOdevice type in the record logic. - Removed
.CARDrecord field. - Changed interface to device support so that all functions pass
precordrather than card, andinit_recordpasses pointer to device callback structure. - Move callback structures from
dpvttorpvtso record does not accessdpvt.
- Added asyn device support for scaler record. This is currently used by the SIS3820 device support in
mcaApp/SISSrc, but all scaler device support will eventually be changed to use asyn. - Changed
stdApp/Db/scaler*.dbso that$(OUT)is a macro parameter, rather than assumingVME_IOlink type. - Deleted
CARDfield fromstdApp/op/adl/scaler*.adl. - Deleted
stdApp/src/femto.dbd, not needed. - Added
timer.db(resettable software timer) and related software:timer.req,timer*.adl
Release 2-5-3
- epid record still had some FLOAT stuff to convert to DOUBLE. Fixed record and docs.
- Added
userStringSeq10database, autosave request, and MEDM display files. - Added support for the Femto current amplifier (www.femto.de).
Release 2-5-2
sseqRecord.htmlrewritten. The old version was a minimal modification ofseqRecord.html, from the EPICS Record Reference Manual, and was not very clear.- Scaler record: v3.18: Don’t post
CNTfield unless record-support changed its value. Modified debug macro. devEpidFast.c: changedstrtok_rtoepicsStrtok_r- pvHistory: new software to maintain short-term history of a few PVs in the IOC. Software comprises
pvHistory.c(genSub routines),devTimeOfDay.c,pvHistory.db,pvHistory.req(autosave-request file), andpvHistory*.adl, and relies on autosave to save/restore the value arrays. softMotor.db: shortened some.DESCfield values so they fit.all_com_4.db: new filesoftMotorConfig.adl: related-display callups were using sCalcout files for calcout records, because synApps did not contain calcout MEDM displays. Now the calc module does contain calcout displays, so we use them.
Release 2-4
- mpf-related stuff replaced by asyn-related stuff
- Minor scaler-record changes to accommodate Joerger VS series. Existing support for other scaler devices should not require any modifications.
- BitBus is no longer supported
- IOC-status info now provided by vxStats module
- PID support rearranged around the asyn module
- SSEQ-record delays now snap to nearest clock period, and show user the delay that will actually be used. Fixed bug that was crashing on Linux and Windows.
Release 2-3
This is what’s left of the synApps std module after the modules autosave, calc, optics, sscan, and vme were split out.
This version is intended to build with EPICS base 3.14.5. Differences from std 2.2:
- Scaler record – device support that used
struct callbackdefined indevScaler.hmust now replace that withCALLBACK, and must includeepics/base/include/callback.h - sseq record – Now allows user to specify whether or not the record should wait, after putting a link value, for the resulting processing to complete before processing the next link. Some code cleanup. Added
seqRecDebug. topDAC8.adl– Deleted to avoid conflict with dac128V module.VXstats_full.adlpid_control_settings.req– added delta time- Added device-independent scaler database and save-restore settings files.
timeString.db– new capability in 3.14.5: stringin record can get time/date.
Suggestions and Comments to: Keenan Lang (klang@anl.gov)