From: B.Gilli Date: 2002-03-14 VLT-SW-MAR2002 - RELEASE NOTES FOR CCS ======================================= CCS_Lite has been extended with alarm functionality, and ported to the LINUX platform (ix86 hardware). Most of the extensions have already been introduced with the OCT01 release, and stabilized for the MARCH 2002 release. The CCS_Lite code has been instrumented under Purify, and a few problems discovered and fixed. ccs: ---- Minor bug fixing: SPR 20010655, 20010710: Purify SPR 20020032: ccsGetShmId and ccsGetShmPtr log error only the first time they fail SPR 20010732: scan alarms defined also for CCS_Lite added CAUTION section for ccsNextPhase (multiple instances flag in CcsEnvTable needed) Under CCS_Lite support has ben added to start processes from the CcsEnvTable as user rtap. This was needed to avoid scanning problems when mixing full and lite environments. Scan related processes (scanMngr, scanOut, ccsScan ) should all run as user rtap, since this user is supposed to exist on all WS. For LINUX platforms, ccs provides the following macros (ccsLite.h) to support bytes swapping: CCS_SWAP_INT16(x) to swap 2 bytes long values. CCS_SWAP_INT32(x) to swap 4 bytes long values. CCS_SWAP_2INT32(x_ptr,y_ptr) to swap 8 bytes long values. CCS_SWAP_FLOAT(x) to swap floating points values 4 bytes long. CCS_SWAP_DOUBLE(x) to swap double precision values 8 bytes long values. err: ---- Minor bug fixing: Add checks for stackSize and sequenceNUmber. SPR 20020032: errGetStackId logs error only the first time it fails Logging System: --------------- Minor bug fixing: SPR 20010795 + improved version of logCleanArchive Modifications according to purify reports. The backup of log files is now done by cyclically storing the log files into 7 files to allow for longer history : the generated files have the following names : logFile0_.bck logFile1_.bck : logFile6_.bck File logBackupIDX.txt contains the index of the current backup file. If this file does not exists, it is automatically created and the numbering starts from 0. Operational logs of type "paramater array" are now generated with 'comment' and 'fits mask'. cmd: ---- Minor bug fixing: SPR VLTSW20010649 close directory stream after loading all CDTs msg: ---- Full support under LINUX: ASCII formatted messages and Binary formatted messages are fully handled, provided the corresponding CDTs are available. The protocol to transfer binary data over dedicated sockets is also now supported. However, in that case, as well as in the case of binary unformatted data, the byte swapping for transported data is under the responsability of the application software. It is strongly recommended to use the byte swapping macros provided by the ccs module (see above), and to follow the byte order policy used by ccs: whatever goes out of a LINUX environment is swapped before being sent, and whatever comes into a LINUX environment has to be swapped. db: --- Minor bugs fixing (Purify): SPR 20010660, 20010661, 20010662 New routine dbGetClassId has been added. evt: ---- Minor bugs fixing (Purify) scan: ----- Minor bugs fixing (Purify) IMPORTANT is the necessary dbl: ---- a C++ version of the dbl, released in the dblpp module, and installed by default as dbl, has been developped providing improved performances. This new version, works by default in a mode being backward compatible as much as possible, but also allows some stronger checking of names and syntax. This mode is accessed via the run string option -sc. It can detect hidden problems happening later at database load time and difficult to find otherwise. Although as said above, it has been tried to insure maximum backward compatibility, in particular by testing the new version with several known databases in use at ESO, in case the new dbl still fails producing your DB, there is always the possibility to install the traditional dbl into your INTROOT: cmmCopy dbl; cd dbl/src; make all install. Please report any incompatibility problem, providing all elements to reproduce the problem to bgilli@eso.org tims: ----- Minor bug fixing (Purify) alrm: ----- Bug fixing. The alrm functionality is now almost fully covered under CCS_Lite. Limitations are: - GLOBAL scope is not handled. - Alarms with acknowledgement are not existing. - Analog alarms with 4 and 5 states are not supported. A new alarm display for CCS_Lite is delivered. It includes support for sound associated to the alarm severity. Sound playing is based on the Snack package which comes installed with Tcl on all platforms. fnd (G.Chiozzi) --------------- VLTSW20010759: Fixed missing initialisation in fndASSOCIATION. eccs (G.Chiozzi) --------------- Minor bug fixing (Purify) evh (G.Chiozzi) --------------- SPR 20010500: in class evhDB_CMD_SERIAL, reset the queue of pending messages when an error reply or time-out is received from a sent command. SPR 20010500: To be carefully tested by applications. Possible side effects! SPRs 20010712 and 20010713: Fixed allocation bug in evhDB_SUNC::AddCondition. Plot: ---- The plot module has been re-coded to implement a 'client-server' architecture. The 'server' (plotServer) is responsible to collect the data to be displayed and to store them into a shared memory area. The user can configure the shared memory area by properly setting some parameters in the plotServer command line. Since the size of the shared memory area is fixed, the plotServer can only support a given number of plot at the same time. The clients (plotDisplay) are responsible to plot the incoming data and to change the plot graphics according to the scaling mode and the user's interaction. The plot itself provides several interactive commands (which were not present in MAR2001), such as : - Manual re-sizing of the window - Possibility to call the user's configuration tool. - Possibility to kill the plot when the window is closed. - Possibility to enable/disable individual pens. - Possibility to set 'specific' configuration modes for all pens. For example "Set 'automatic scaling' for all pens. Support for FFT --------------- An additional server (plotFFTServer) can be used to calculate the FFT of data sampled from the LCU or stored in history tables. This server uses a database attribute (fft_config) to know the source and destination attributes, as well as how to compute the FFT. The FFT is stored in specific plot points called "FFT plot points" and the data can be displayed by calling the plotDisplay as for any other plot point. The specific class plotFFT_POINT.class should be used to create instances of the "FFT plot points" The following GUIS are also provided : plotConfigFFT - Tool to configure the FFT configuration table. plotConfigGUI - Engineering tool to configure plot points plotConfigPen - Engineering tool to configure single plot pens. (This is normally used through the plotConfigTool) plotUsrConfig - Simplified plot configuration GUI for the user. plotSelector - Plot point browser. plotMonServer - Engineering GUI to monitor the plotServer. panel ----- New configuration parameters added to the UifOutputLed and UifScale widgets. his: ---- SPR 20010733 + fixed bug in hisSetupConfig Case with no hist. does not return an error Ccs --- SPR 20020116: memory allocation problem in CcsDbReadSymbolic.c Tcl library version number not hardcoded anymore - use tclConfig.sh instead CcseiDb: ------- A nice project initiated at Paranal. It's a Java based browser for the CCS_Lite database, proposed as an alternative to the ccseidb facility. It allows in particular a better visualisation of the database hierarchy, and a more convenient handling of tables. Being still in an immature state, it is proposed here as a prototype. Please feel free to use it for evaluation (it works only on the local environment) and report your interest on such Java based tools. LINUX Comparative performance test: ---------------------------------- The results are given in number of loops or operations per second. Therefore, the highest the better. ----------------------------------------------------------------------------------------- | | | | te35 (HP J6000) |te2 (PIII 700MHz) | Type of operation: | HP_UX 11.0 | LINUX (RH 6.2) | ----------------------------------------------------------------------------------------| MESSAGE SYSTEM: | | | | | | Process A sends a command to process B; | | | B returns a 1Kb reply. A waits to receive | | | the reply to send a new command | | | ----------------------------------------------------------------------------------------| A & B running in the same WS environment. | | | No command checking | 5290 loops/s | 7250 loops/s | Command checking on both sides | 2480 | 4100 | | | | A & B running in 2 different envs, same host. | | | No command checking | 893 | 980 | Command checking on both sides | 736 | 830 | | | | A running in WS, B running on LCU (68040) | | | No command checking | 110 | 109 | Command checking on both sides | 84 | 85 | ----------------------------------------------------------------------------------------| Database access, test reports only for local DB.| | | A set of different attributes of different | | | types is accessed within each loop. | | | The reported value is the number of | | | DB operations (read or write) per second | | | Number of loops x number of attributes per loop | | | ----------------------------------------------------------------------------------------| Read symbolic | 28900 R/s | 45600 R/s | Read by alias | 38700 | 61900 | Read direct | 1004000 | 1908000 | Write symbolic | 8700 W/s | 16900 W/s | Write by alias | 9700 | 18750 | Write direct | 13775 | 32000 | ----------------------------------------------------------------------------------------- LCU 68040/PPC Comparative performance test: ------------------------------------------- The results are given in number of loops or operations per second. Therefore, the highest the better. ----------------------------------------------------------------------------------------- | | | | te59 68k | te66 ppc | Type of operation: | | | ----------------------------------------------------------------------------------------| MESSAGE SYSTEM: | | | | | | Process A sends a command to process B; | | | B returns a 1Kb reply. A waits to receive | | | the reply to send a new command | | | ----------------------------------------------------------------------------------------| A & B running in the same LCU environment. | | | No command checking | 231 loops/s | 3315 loops/s | Command checking on both sides | 148 | 2050 | | | | ----------------------------------------------------------------------------------------| Database access, test reports only for local DB.| | | A set of different attributes of different | | | types is accessed within each loop. | | | The reported value is the number of | | | DB operations (read or write) per second | | | Number of loops x number of attributes per loop | | | ----------------------------------------------------------------------------------------| Read symbolic | 1143 R/s | 23750 R/s | Read by alias | 1468 | 29650 | Read direct | 17964 | 305000 | Write symbolic | 1138 W/s | 23900 W/s | Write by alias | 1457 | 29300 | Write direct | 16486 | 293500 | ----------------------------------------------------------------------------------------- ___oOo___