Release Notes
Changes since R5-0
make it build with base-3.15 and base-7
Changes since R4-7
cvtRecord: use typed rset
adapt to EPICS 7
Changes since R4-6
CSM is now published under license GPL v.3.
Changes since R4-5
build documentation only if required explicitly (make docs)
csmbase: include EPICS shareLib.h and define epicsExportSharedSymbols
csmbase: indent CPP directives if nested inside #if or #else
csmbase: remove header generation, move docs for public entities to header
remove outdated header comment and history from csmbase.c
Changes since R4-4
This version compiles (and should work) with base version 3.14.12 and later (including 3.15 and 3.16).
added more base versions to configure/RELEASE
cvtRecord: removed separate header generation for menus
These cause problems with base-3.15 or later.
cvtRecord: slightly more intelligent path concatenation
It gets rid of extraneous slashes (and adds missing ones) at the concatenation points.
Changes since R4-3
removed doxygen from Makefile
It seems that doxygen config file format is an ever moving target and I can no longer be bothered to adapt the Makefile so that it works.
Changes since R4-2
cvtRecord: added BDIR/NBDI fields
The directory where a table file is located is now constructed by concatenating the new BDIR with the TDIR fields (with a “/” in between). This is a work-around for the 40 character string limitation in EPICS. Specifically, there is currently no existing record type that can calculate a string concatenation such that the result is longer than 40 characters.
Changes since R4-1
fix in cvtRecord support: must not pass 0 to epicsMessageQueueCreate
added documentation of file format to index page
Changes since R4-0
Csmbase optimized for speed.
The search for a matching interval in a table of break-points was optimized. The lookup function now looks first to the previous interval, then the intervals below and above the previous one. Only if these intervals don’t match it performs a binary search across the while break point table.
If the functions csm_x, csm_y or csm_z are called with the same values as the last time, they do not perform any calculation but return the previous value from their internal cache.
Changes since R3-6
Only internal changes.
Changes since R3-5
default base dependency changed to 3-14-12-1-1
added dir dependencies for parallel make
Changes since R3-4
The csm library now handles one-dimensional tables with just one point correctly as a constant function. Previously they returned NAN, except if the input was exactly at the specified point.
Empty one-dimensional tables (with no points defined) now return NAN instead of zero.
Changes since R3-3
cvtRecord: removed “invalid pv link” error messages. This is consistent with how the records in base work and avoids misleading error messages at startup time when CA input links have not yet connected.
removed dir creation from upload target actions
cvtRecord: layout changes, renamed csm_alarm to checkAlarms
removed obsolete cvtRecord.html
Changes since R3-2
fixed performance problem by moving inactive mode related link parsing from process to init_record
moved db_post_events call for X and Y fields to monitor routine
replaced DBF_FLOAT with DBF_DOUBLE in cvt limit fields
added sphinx generated documentation/download website
added boringfile
added hgen.pl to make module self-contained