This is the ChangeLog for gm4lin version 1.2.15: *improved mysql structure following a user contributed patch version 1.2.14: *removed obsolete options in Makefile *changed some includes to reflect new locations/names (string.h especially) *added some casts because gcc was complaining version 1.2.13: *new Makefile that should work better (cleaner includes, libs...) version 1.2.12: *updated my email address to apbg4@free.fr; *update the documentation in order to reflect the default value for the first available serial port (numbered 1) (thanks to Nick !); version 1.2.11: *fixed a very little bug when exiting if some data log files were not opened (=do not attempt to close what we failed to open !); *error messages can be logged using syslog - added command line option for that purpose; *can be run as a daemon - added command line option for that purpose; *catching SIGTERM in order to be able to cleanly shutdown gm4lin by doing a simple kill on its process; *added command line option for running as a given UID; *added command line option for the directory where to write data log files; *suppressed all references to std_msg and std_err - it is better to simply redirect file descriptors 0, 1, 2 if needed; *wrote a wrapper for starting gm4lin as a daemon on a Mandrake/RedHat system (script nammed gm4lind to install in init.d). version 1.2.10: *removed flag_alrm reset from data_log(); *added a call to select/pselect() in pulse_recording: now, most of the time is spent waiting for a signal to be generated, so the CPU load went from 99% down to 1% in pulse mode ! *if a wrong argument is given on the command line, the program will display an error message and stop. version 1.2.9_2: *initialization of the "is_serial" parameter (for dummy probes) was wrong -> fixed, now the software works again with serial port probes ! *restarting lost database connection was not working (mysql pointer transmitted RO instead of RW to mysql_close) -> fixed; *tested the serial port detectors with a usb/serial adapter: it works perfectly ! *more debug messages. version 1.2.9: *more code clean-up for the signal handling; *ability to choose between SELECT() and PSELECT() calls for activity recording at compilation time (pselect is safer); *no more timeout in activity recording (safer); *fixed a bug when closing mysql connection when exiting; *removed unused variables; *tries to close as many things before exiting because of an error; *ability to use "dummy probes" (using a pipe as a probe port, for testing prupose); *internationalization: all message/error strings called by gettext if available. *test in debug mode for the pulse recording feature: ability to detect system overload. version 1.2.8: *little code clean-up for the signal handling; *a few cosmetic changes; *BUGGY_SIGACTION compilation flag added just in case... dirty fix if some platteforms don't restore properly the signal trapping; *A few changes in the signal handling functions in order to make gm4lin work under MacOs X ! (many thanks to Chris Grant (cobrabyte AT mac DOT com) for his work on making it work under OsX !); *instructions on how to make it work under MacOs X (by Chris Grant) - Project Builder project file (by Chris Grant). version 1.2.7: *DEBUG compilation option added (enables more debug messages while running); *code clean-ups; *when logging data to a file, if the file can't be created, it doesn't prevent the software from working (enables logging data for the other probes). version 1.2.6: *there was a bug when running in activity recording mode (cpm) and writing data to a MySQL database -> fixed; *the data log part as been almost totally rewritten (it's now very easy to add another way of logging data); *calibration in activity recording mode has been checked and seems to be ok. version 1.2.5: *well... the compilation options for dropping Mysql support were totally wrong and not working -> fixed, now if you comment the five lines about MySQL at the begining of the Makefile, gm4lin will be compiled without mysql support; *in case of mysql logging, ability to specify the database's port (if you don't specify it, it will be mysql's default port); *a few minor cosmetic changes in the code and in output messages; *clean-up of error messages: now the function name given as a reference should always be the right one! *a few messages from the probes initializations are now commented out. Output is cleaner! version 1.2.4: *bug for the sensitivity correction when using more than 1 detector corrected in gm4lin.c/sql_query_log; *estimated value for GM-10 sensitivity factor (I guessed 15 cpm/mR/h according to the Co60 calibration curve given by BlackCatSystems); *estimated value for GM-10 sensitivity factor for Cs137 (I guessed 21 cpm/mR/h according to the Cs137 calibration curve given by BlackCatSystems); *command line option in order to select default sensitivity and individual sensitivities by keywords (like "GM45_CO60" or "GM10_CS137"); *updated comments in the log files in order to reflect individual probes sensitivities; *code clean-up in probe.c and probe.h; version 1.2.3: *well, previous automatic reconnection to MySQL database was buggy... Now, if the database goes down, gm4lin is going to keep trying accessing it while still logging data to the data files if asked to do so (no more crash); *Understand the timer resolution: PULSE_PARTICULE_SUB_SAMPLING is the timer resolution used in pulsed mode (defined in initializations.h). The minimum value is 10 ms, but if you want to run several gm4lin process in parallel on the same computer, you have to remember that this timer resolution is the machine resolution: if you want to run two gm4lin in parallel, the timer (machine-wide) won't be able to go below 10 ms, that means 20 ms for each process. Otherwise, the machine can't handle such small values and "miss" some readings on the probes (because it is already working on the other process). Since the value you asked for (in the .h file) is the value used for the calibration, that means that if you miss some readings, the measurement is going to be wrong. *each probe can now have its own sensitivity, initialized in probe_init. This sensitivity is currently always fixed to SENSITIVITY_GM45, but it will allow an easy implementation for allowing both gm45 and gm10 detectors to be used at the same time; *code clean-up: fixed an error message in stop_catch_init, merge the two timers intialization functions into only one function (timer_init), ... *Makefile clean-up; version 1.2.2: *automatic reconnection to MySQL database if the database went down (instead of crashing); *bug fixed in the display of the delay when starting the program; *added the "this program is free software..." stuff when running the program; version 1.2.1: *MySQL support; *code clean up for configurations options; *calibration of the pulse mode; *output methodes: to MySQL database, to a file, to the screen; version 1.2.0: *pulse recording mode added; *general code clean up;