fdhwlib
2.0.25
|
Use a independant threads for all connections. If one connection hangs, the other won't be affected?!
Improve the Server managment. Loging, Shutdown via IP. For some other purpose a New class similar to Pbus/PbusProxy couble may be useful for maintenance and run control. Eg. shutdown + restart of the Server, Control of the IRdispatcher!!!
Add mathematical functions. (Mean, Variance,..)
Implement a command to print the help lines help(FILE *fout, char *format, ...); Features:
Implement static members, that hold a kind of environment. The environment is based on a string array: Name, Value, description of the parameter. Provide functions to print, add, modify and delete the environment. Should be used for global settings required in more than one instruction set (row, col, page, ...). A specical field could take the value of the last operation. This will allow conditional scripting! Provide conditional commands!
Übertragung der Datenbank-Parameter vom Client zum Server
Darstellung der aufgenommenen Run, tabelarische Ausgabe,
Histogramm der Energieverteilung
init commands, compare with Dennis programm!
connection with the IR dispatcher, Event handling for signals, multiplexing of IRs ??
specify the possible exceptions for the methods!
global definitions (number of rows, ...) see FEdef.h.
Insert version number
init commands, compare with Dennis programm!
connection with the IR dispatcher, Event handling for signals, multiplexing of IRs ??
specify the possible exceptions for the methods!
global definitions (number of rows, ...) see FEdef.h.
Insert version number
(THIS HAS CHANGED FOR V4 - Till 2009-04-09)
Add a function to read the "GPS clock" from the mirrorPC
init commands, compare with Dennis programm!
connection with the IR dispatcher, Event handling for signals, multiplexing of IRs ??
specify the possible exceptions for the methods!
global definitions (number of rows, ...) see FEdef.h.
Insert version number
Test and improve the check of the versions!!!
The macros to select all FLT channel and/or boards have to be redefined!
Replace numerical values in the code by local preprocessor variables!
Check shift operations on integer type variables!
Rename FltMean!!!
Measure test time, time with system turned off
Improve writing test pattern
Generate random test pattern
Measure test time, time with higher system load
Choose random pix and page for testing
Measure also the transfer rate for writing
It may be more consistent to number the FPGAs also starting with 0 ?!
There are inconsistencies in the definition of the relation between pixel number and fpga number?!
Load almanac from file + save to file
Controls for the second adjustment
Implement the state machine in one function - not distributed! Re-implement selftest and site survey
Add the current leap second to the capture and timing buffer. The leap second information is always needed to convert the time stamp values.
Add unit tests for all gps classes
Put the buffers to a shared memory block. In case the program terminates or needs a restart no timestamp will be lost !!! Use a class to implement the buffer handling. Is it possible to restart the server witout loosing any time stamp?
Implement / separate the server function and display functions. Implement a display of the complete Ea-messages for the GpsUnit.
Move the server interface and all display functions to the class GpsClock. The methods of GpsClock should be used by both sides - client and server!
Analyse and display the hardware buffer overflow
Implementent a Katrin simulation module...
Implement cyclic reading of measure mode
Add user defined vaibales that are included in the result
Implemtent experiment specific analysis
Implement automatic error detection of the readout loop. Lost data, ... wide energy spread?! Test run with changing parameters to check stability. Is the spread of the energy histogramm small enough?
Add individual histogramm for every pixel
Print result to file. The result should contain also other relevant data.
Insert version number
Try-catch block for load_design() required!
IP: The proxy interface will not recognise if the connection close by the other side. Automatically try to make a new connection if possible!
Handling of the pbusd version!!!
Redesign required: Separation between Pbus and PbusControl!
IP: Throw PbusErrors if a error occures!
Du musst dazu einen Signalhandler fuer SIGPIPE installieren, der aber nichts tut, oder SIG_IGN. Dann kommt write(socket,...) mit -1 und errno=EPIPE zurueck. Auf diesen Fehler kann man dann geeignet reagieren. Ein read(socket,...) kommt mit 0 gelesenen Bytes zurueck, wenn der Socket gestorben ist, aber dass weisst Du sicherlich.
IP: Add IP instructions for the new commands stop and cont!
Implement test functions in pbus class that can be used by all registers to determine access speed and reliability.
New paramter: Start time of the server; may be the number of connected clients???
Implement the ipaddr parameter - now always left blank
Would be nice to have named semaphores with a automatic numbering?!
There is another definition of semaphores in semaphore.h. Is this useful?
GUI programm for Windows NT also need protection, when multiple threads are used! Try to adapt a version with the MFC Semaphores.
Add optional argument to the constructor to define a message stream.
Add Variables + Conditions in the command line.
Start the shell with the history of the last session!
Use a independant threads for all connections. If one connection hangs, the other won't be affected?!
Improve the Server managment. Loging, Shutdown via IP. For some other purpose a New class similar to Pbus/PbusProxy couble may be useful for mainanace and run control. Eg. Shutdown + restart of the Server, Control of the IRdispatcher!!!
exention to initialize all connected telescopes
how to handle the different values for different pixel / telescopes?
are the names of the registers the best choise ???
print a generic inifile with all known registers.
Is it possible to check the system based on these register values? Where to define better entities?
Add a generalized class to provide analysis with the background data. E.g. mean + variance of the paramter vs pixel?!
Check how to do analysis with the 2D arrays?
Add compression level
Use readRegisterBlock in get()
Add a individual timestamp for every parameter ?!
Streamer methoden einfhren, es erscheint unsauber, die Methoden mit zu kopieren !!!
Wie kann man eine verlorene Verbindung erkennen? Wie kann der Server-Verbindungen lsen?
The recorder does not work with a connection started via ssh tunnel. The readout process at the mirrorpc's seem to have problems to connect to the proper recorder server?!
Every process started with fork() will exist as zombie as long as the main process will not use the function wait().
Try to use select() during waiting. Both the socket connection to the server and any key press can be detect much faster by this function. In the moment we have a small polling loop with a 1 second period. During the first tests it turned out that a socket connection is not properly released after the usage of select (use: netstat --ip).
Implement timeout waiting for the device
Implement the missing commands