Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
lange50 committed Mar 18, 2022
2 parents 3d892d6 + 29f9452 commit ee869ed
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 303 deletions.
Binary file removed FAST ComTec/DMCS6.dll
Binary file not shown.
Binary file not shown.
126 changes: 63 additions & 63 deletions FAST ComTec/Files from FAST ComTec/mcs6adll/c/STRUCT.H
Original file line number Diff line number Diff line change
Expand Up @@ -51,57 +51,57 @@ typedef struct {
#define ST_STARTS 6

typedef struct{
unsigned int started; // aquisition status
unsigned int maxval; // maxval
unsigned long started; // aquisition status
unsigned long maxval; // maxval
double cnt[8]; // status: runtime in msec, ofls,
// total sum, roi sum, roi rate, sweeps, starts
} ACQSTATUS;

typedef struct {
int savedata; // bit 0: auto save after stop
long savedata; // bit 0: auto save after stop
// bit 1: write listfile
// bit 2: listfile only, no evaluation
int autoinc; // 1 if auto increment filename
int fmt; // format type (seperate spectra):
long autoinc; // 1 if auto increment filename
long fmt; // format type (seperate spectra):
// 0 == ASCII, 1 == binary,
// 2 == CSV
int mpafmt; // format used in mpa datafiles
int sephead; // seperate Header
int smpts;
int caluse;
long mpafmt; // format used in mpa datafiles
long sephead; // seperate Header
long smpts;
long caluse;
char filename[256];
char specfile[256];
char command[256];
} DATSETTING;

typedef struct {
int use; // 1 if Replay Mode ON
int modified; // Bit 0: 1 if different settings are used
long use; // 1 if Replay Mode ON
long modified; // Bit 0: 1 if different settings are used
// (Bit 1: Write ASCII, reserved)
int limit; // 0: all,
long limit; // 0: all,
// 1: limited sweep range
int speed; // replay speed in units of 100 kB / sec
long speed; // replay speed in units of 100 kB / sec
double startsfrom; // first start#
double startsto; // last start#
double startspreset; // last start - first start
char filename[256];
} REPLAYSETTING;

typedef struct{
int range; // spectrum length
int cftfak; // LOWORD: 256 * cft factor (t_after_peak / t_to_peak)
long range; // spectrum length
long cftfak; // LOWORD: 256 * cft factor (t_after_peak / t_to_peak)
// HIWORD: max pulse width for CFT
int roimin; // lower ROI limit
int roimax; // upper limit: roimin <= channel < roimax
int nregions; // number of regions
int caluse; // bit0: 1 if calibration used, higher bits: formula
int calpoints; // number of calibration points
int param; // (reserved:) for MAP and POS: LOWORD=x, HIWORD=y
int offset; // (reserved:) zoomed MAPS: LOWORD: xoffset, HIWORD, yoffset
int xdim; // (reserved:) x resolution of maps
unsigned int bitshift; // LOWORD: Binwidth = 2 ^ (bitshift)
long roimin; // lower ROI limit
long roimax; // upper limit: roimin <= channel < roimax
long nregions; // number of regions
long caluse; // bit0: 1 if calibration used, higher bits: formula
long calpoints; // number of calibration points
long param; // (reserved:) for MAP and POS: LOWORD=x, HIWORD=y
long offset; // (reserved:) zoomed MAPS: LOWORD: xoffset, HIWORD, yoffset
long xdim; // (reserved:) x resolution of maps
unsigned long bitshift; // LOWORD: Binwidth = 2 ^ (bitshift)
// HIWORD: Threshold for Coinc
int active; // Spectrum definition words for CHN1..6:
long active; // Spectrum definition words for CHN1..6:
// active & 0xF ==0 not used
// ==1 single
// bit 8: Enable Tag bits
Expand Down Expand Up @@ -129,20 +129,20 @@ typedef struct{
} ACQSETTING;

typedef struct{
int range; // spectrum length
int cftfak; // LOWORD: 256 * cft factor (t_after_peak / t_to_peak)
long range; // spectrum length
long cftfak; // LOWORD: 256 * cft factor (t_after_peak / t_to_peak)
// HIWORD: max pulse width for CFT
int roimin; // lower ROI limit
int roimax; // upper limit: roimin <= channel < roimax
int nregions; // number of regions
int caluse; // bit0: 1 if calibration used, higher bits: formula
int calpoints; // number of calibration points
int param; // (reserved:) for MAP and POS: LOWORD=x, HIWORD=y
int offset; // (reserved:) zoomed MAPS: LOWORD: xoffset, HIWORD, yoffset
int xdim; // (reserved:) x resolution of maps
unsigned int bitshift; // LOWORD: Binwidth = 2 ^ (bitshift)
long roimin; // lower ROI limit
long roimax; // upper limit: roimin <= channel < roimax
long nregions; // number of regions
long caluse; // bit0: 1 if calibration used, higher bits: formula
long calpoints; // number of calibration points
long param; // (reserved:) for MAP and POS: LOWORD=x, HIWORD=y
long offset; // (reserved:) zoomed MAPS: LOWORD: xoffset, HIWORD, yoffset
long xdim; // (reserved:) x resolution of maps
unsigned long bitshift; // LOWORD: Binwidth = 2 ^ (bitshift)
// HIWORD: Threshold for Coinc
int active; // Spectrum definition words for CHN1..6:
long active; // Spectrum definition words for CHN1..6:
// active & 0xF ==0 not used
// ==1 enabled
// bit 8: Enable Tag bits
Expand All @@ -165,13 +165,13 @@ typedef struct{
double dummy2; //
double dummy3; //
// MPANT or Server private saved settings:
int type; // 0=single, 1=MAP, 2=ISO...
int ydim; // y resolution of maps
int reserved[16];
long type; // 0=single, 1=MAP, 2=ISO...
long ydim; // y resolution of maps
long reserved[16];
} EXTACQSETTING;

typedef struct {
int sweepmode; // sweepmode & 0xF: 0 = normal,
long sweepmode; // sweepmode & 0xF: 0 = normal,
// 1=differential (relative to first stop in sweep)
// 4=sequential
// 5=seq.+diff (Ch1), bit0 = differential mode
Expand All @@ -194,7 +194,7 @@ typedef struct {
// bit 16..bit 20 ~(input channel enable)
// bit 24: require data lost bit in data
// bit 25: don't allow 6 byte datalength
int prena; // bit 0: realtime preset enabled
long prena; // bit 0: realtime preset enabled
// bit 1:
// bit 2: sweep preset enabled
// bit 3: ROI preset enabled
Expand All @@ -204,17 +204,17 @@ typedef struct {
// bit 7: ROI4 preset enabled
// bit 8: ROI5 preset enabled
// bit 9: ROI6 preset enabled
int cycles; // for sequential mode
int sequences; //
int syncout; // LOWORD: sync out; bit 0..5 NIM syncout, bit 8..13 TTL syncout
long cycles; // for sequential mode
long sequences; //
long syncout; // LOWORD: sync out; bit 0..5 NIM syncout, bit 8..13 TTL syncout
// bit7: NIM syncout_invert, bit15: TTL syncout_invert
// 0="0", 1=10 MHz, 2=78.125 MHz, 3=100 MHz, 4=156.25 MHz,
// 5=200 MHz, 6=312.5 MHz, 7=Ch0, 8=Ch1, 9=Ch2, 10=Ch3,
// 11=Ch4, 12=Ch5, 13=GO, 14=Start_of_sweep, 15=Armed,
// 16=SYS_ON, 17=WINDOW, 18=HOLD_OFF, 19=EOS_DEADTIME
// 20=TIME[0],...,51=TIME[31], 52...63=SWEEP[0]..SWEEP[11]
//
int digio; // LOWORD: Use of Dig I/O, GO Line:
long digio; // LOWORD: Use of Dig I/O, GO Line:
// bit 0: status dig 0..3
// bit 1: Output digval and increment digval after stop
// bit 2: Invert polarity
Expand All @@ -225,25 +225,25 @@ typedef struct {
// bit 10: GO Low at Stop
// bit 11: Clear at triggered start
// bit 12: Only triggered start
int digval; // digval=0..255 value for samplechanger
int dac0; // DAC0 value (START)
long digval; // digval=0..255 value for samplechanger
long dac0; // DAC0 value (START)
// bit 16: Start with rising edge
int dac1; // DAC1 value (STOP 1)
int dac2; // DAC2 value (STOP 2)
int dac3; // DAC3 value (STOP 3)
int dac4; // DAC4 value (STOP 4)
int dac5; // DAC5 value (STOP 5)
long dac1; // DAC1 value (STOP 1)
long dac2; // DAC2 value (STOP 2)
long dac3; // DAC3 value (STOP 3)
long dac4; // DAC4 value (STOP 4)
long dac5; // DAC5 value (STOP 5)
// bit (14,15) of each word: 0=falling, 1=rising, 2=both, 3=both+CFT
// bit 17 of each: pulse width mode under threshold
int fdac; // Feature DAC 0..16383 --> 0..2.5V
int tagbits; // number of tagbits
int extclk; // use external clock
int maxchan; // number of input channels (=6)
int serno; // serial number
int ddruse; // bit0: DDR_USE, bit1: DDR_2GB
long maxchan; // number of input channels (=6)
long serno; // serial number
long ddruse; // bit0: DDR_USE, bit1: DDR_2GB
// bits[2:3]: usb_usage
// bits[4:5]: wdlen
int active; // module in system
long active; // module in system
double holdafter; // Hold off
double swpreset; // sweep preset value
double fstchan; // acquisition delay
Expand Down Expand Up @@ -278,15 +278,15 @@ typedef struct {

int sys0[56]; // System definition words for ADCs (1..24):
// see active definition in ADCSETTING
int sys1[40]; // ADC in System (=1)
int adcs[5]; // Number of ADCs per module (0)
int tofs[5]; // Number of TOF inputs per module
int res[6]; // reserved
int sys1[56]; // ADC in System (=1)
int adcs[8]; // Number of ADCs per module (0)
int tofs[8]; // Number of TOF inputs per module
int res[8]; // reserved
} COINCDEF;

typedef struct{
unsigned int HUGE *s0; // pointer to spectrum
unsigned int *region; // pointer to regions
unsigned long HUGE *s0; // pointer to spectrum
unsigned long *region; // pointer to regions
unsigned char *comment0; // pointer to strings
double *cnt; // pointer to counters
HANDLE hs0;
Expand Down
Loading

0 comments on commit ee869ed

Please sign in to comment.