major changes with inheritances

git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@118 951219d9-93cf-4727-9268-0efd64621fa3
This commit is contained in:
bergamaschi
2012-02-17 09:43:46 +00:00
parent 6778060b56
commit a556b2a7da
11 changed files with 9182 additions and 5738 deletions

View File

@ -3,8 +3,16 @@
#include <stdint.h>
/** default maximum string length */
#define MAX_STR_LENGTH 1000
/** default maximum string length */
#define MAX_SCAN_STEPS 2000
typedef float float32_t;
typedef int int32_t;
typedef int int32_t;
typedef char mystring[MAX_STR_LENGTH];
typedef float mysteps[MAX_SCAN_STEPS];
/**
\file sls_detector_defs.h
@ -17,11 +25,14 @@ and to the server programs running on the detector
* @see slsDetector
*/
/** default maximum string length */
#define MAX_STR_LENGTH 1000
/** get flag form most functions */
#define GET_FLAG -1
enum {startScript, scriptBefore, headerBefore, headerAfter,scriptAfter, stopScript, MAX_ACTIONS};
/**
structure for a detector channel
should not be used by unexperienced users
@ -100,7 +111,6 @@ typedef struct {
*/
typedef struct {
int len; /**< is the number of elements of the array */
int *iptr; /**< is the pointer to the array */
} iarray ;
@ -128,6 +138,37 @@ enum communicationProtocol{
UDP /**< UDP */
};
/**
Communication protocol (normally TCP)
*/
enum networkParameter {
CLIENT_IP, /**< client IP */
CLIENT_MAC, /**< client mac */
SERVER_MAC /**< server MAC */
};
/**
type of action performed (for text client)
*/
enum {GET_ACTION, PUT_ACTION, READOUT_ACTION, HELP_ACTION};
/** online flags enum \sa setOnline*/
enum {GET_ONLINE_FLAG=-1, /**< returns wether the detector is in online or offline state */
OFFLINE_FLAG=0, /**< detector in offline state (i.e. no communication to the detector - using only local structure - no data acquisition possible!) */
ONLINE_FLAG =1/**< detector in online state (i.e. communication to the detector updating the local structure) */
};
/** synchronization of the various detectors (should be set for each detector individually?!?!?) */
enum synchronizationMode {
GET_SYNCHRONIZATION_MODE=-1, /**< the multidetector will return its synchronization mode */
NONE, /**< all detectors are independent (no cabling) */
MASTER_GATES, /**< the master gates the other detectors */
MASTER_TRIGGERS, /**< the master triggers the other detectors */
SLAVE_STARTS_WHEN_MASTER_STOPS /**< the slave acquires when the master finishes, to avoid deadtime */
};
/**
flags to get (or set) the size of the detector