Author: Benjamin Sailer
TUM/E12
Benjamin.Sailer@ph.tum.de
-Version: 0.1
-Date: 2000-09-10
+Version: 0.2
+Date: 2001-04-02
libfileParam.a
==============
At runtime a file is opened containing data in a tcl-shaped way (arrays are
sets of parameters with a succeeding array index number in the tcl idx). When
-the enviroment variable DAQSLOW_PARAM_FILE is set, the library looks up there
-if it can find the data. If DAQSLOW_PARAM_FILE is not set, the library assumes
-the param file to be 'param.tcl' in the working directory.
+calling the constructor conParam(), the library looks for the enviroment
+variables DAQSLOW_PARAM_FILE and DAQSLOW_STORAGE_FILE. If set, these files
+are used to read respectively write back parameters. The default values for
+these filenames are 'param.tcl' and 'storage.tcl'. The first file has to exist
+and contain tcl-shaped lines to set variables or comments.
+ If using conSetupParam() instead, the character string given to the
+constructor is used to define the setup. The files are named
+<setup>_p.tcl respectively <setup>_s.tcl. If 'NULL' is given to the
+constructor, "default" is used as the setup name.
+ Param_getBlob() simply opens a FILE-stream and therefore uses the path given
+by a Param_getFilename()-call, so the tcl-source has to contain a variable with
+a correct path as a value.
4. Known bugs and further developement perspectives
---------------------------------------------------
- Note that libfileParam.a is only existing for historical reasons and for the
-poor people who don't have tcl available on their system. It is a little clone
-of the libtclParam.a without requirnig the libtcl.so and has two
-disadvantages:
-- The simple algorithm does not allow the string values (and notations of a int
- value, too) to contain whitespaces.
-- The constructor of param allocates much memory to copy the entire file to
- it. There is a magic maximum size for the number of single requested elements
- set to PARAM_MAX_NVALS which is now set to 1024.
-libfileParam.a is not likely to be developed any further but anyhow:
+ Although users now claim to have tcl on all of their systems, libfileParam.a
+has been developed further to fix the most severe bugs and include the new
+features of the version 0.2. Nevertheless, not all of the features of tcl are
+supported correctly. Only the 'set'-command is read and builtin-variables
+(like access to the enviroment) are not available. The treatment of comments
+can be different to that the tcl-interpreter likes.
Please send bug reports to
Author: Benjamin Sailer
TUM/E12
Benjamin.Sailer@ph.tum.de
-Version: 0.1
-Date: 2000-09-10
+Version: 0.2
+Date: 2001-04-02
libtclParam.a
=============
3. Runtime requirments
----------------------
- libtclParam.a starts a tcl-interpreter the input file of which has - of
-course - to be a tcl file. The library looks up for the enviroment variable
-DAQSLOW_PARAM_FILE and tries to open the file pointed to by it. If the variable
-is not defined, libtclParam.a looks for param.tcl in the working directory. The
-simple syntax of the tcl-file is just
-set <name>(<idx>) <value>
-(where <idx> is either the supplied idx string or the latter combined with a
-decimal representing the sequence number within an array). <name> and <value>
-are their corresponting values of the param function call.
+ At runtime a file is opened containing data in a tcl-shaped way (arrays are
+sets of parameters with a succeeding array index number in the tcl idx). When
+calling the constructor conParam(), the library looks for the enviroment
+variables DAQSLOW_PARAM_FILE and DAQSLOW_STORAGE_FILE. If set, these files
+are used to read respectively write back parameters. The default values for
+these filenames are 'param.tcl' and 'storage.tcl'. The first file has to exist
+and contain tcl-shaped lines to set variables or comments. The tcl-interpreter
+called checks the validity of the tcl-file and then reads in all the variables.
+Therefore and valid tcl-construct, e.g. the use of the array containing the
+enviroment, can be used. However for compatibility to libfileParam.a it is not
+recommended to take advanage of these possibilities.
+ If using conSetupParam() instead, the character string given to the
+constructor is used to define the setup. The files are named
+<setup>_p.tcl respectively <setup>_s.tcl. If 'NULL' is given to the
+constructor, "default" is used as the setup name.
+ Param_getBlob() simply opens a FILE-stream and therefore uses the path given
+by a Param_getFilename()-call, so the tcl-source has to contain a variable with
+a correct path as a value.
4. Known bugs and further developement perspectives
---------------------------------------------------