client: update roi on updatedetector, (ctb, moench)moved nchans and databyte calculated to updatenumberofchannels and called for any update in roi, readoutflag or #samples changed (get should not update). ctb,moench server: roi fixed, . gotthard server: bug fix waiting to finish, ad9252 spi call fix. receiver: updated for moench and 10g

This commit is contained in:
2019-03-06 17:25:18 +01:00
parent 0765b330f1
commit ca817c6ae9
14 changed files with 193 additions and 100 deletions

View File

@ -554,7 +554,7 @@ void setupDetector() {
// clear roi
{
int ret = OK, retvalsize = 0;
setROI(0, rois, &ret, &retvalsize);
setROI(0, rois, &retvalsize, &ret);
}
}
@ -617,6 +617,7 @@ int getChannels() {
}
if (digitalEnable)
nchans += NCHAN_DIGITAL;
FILE_LOG(logINFO, ("\tNumber of Channels calculated: %d\n", nchans))
return nchans;
}
@ -674,13 +675,13 @@ ROI* setROI(int n, ROI arg[], int *retvalsize, int *ret) {
int iroi = 0;
// for every roi
for (iroi = 0; iroi < n; ++iroi) {
FILE_LOG(logINFO, ("\t%d: (%d, %d)\n", arg[iroi].xmin, arg[iroi].xmax));
FILE_LOG(logINFO, ("\t%d: (%d, %d)\n", iroi, arg[iroi].xmin, arg[iroi].xmax));
// swap if xmin > xmax
if (arg[iroi].xmin > arg[iroi].xmax) {
int temp = arg[iroi].xmin;
arg[iroi].xmin = arg[iroi].xmax;
arg[iroi].xmax = temp;
FILE_LOG(logINFORED, ("\tCorrected %d: (%d, %d)\n", arg[iroi].xmin, arg[iroi].xmax));
FILE_LOG(logINFORED, ("\tCorrected %d: (%d, %d)\n", iroi, arg[iroi].xmin, arg[iroi].xmax));
}
int ich = 0;
// for the roi specified

View File

@ -1,9 +1,9 @@
Path: slsDetectorPackage/slsDetectorServers/gotthardDetectorServer
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
Repsitory UUID: 9d9251293d1a0b5300b8d7191949cf01de1c7b81
Revision: 21
Repsitory UUID: 0765b330f116fd47b84c065d89789f4996573f23
Revision: 24
Branch: refactor
Last Changed Author: Dhanya_Thattil
Last Changed Rev: 4255
Last Changed Date: 2019-01-15 10:22:16.000000002 +0100 ./.target-makefrag
Last Changed Rev: 4381
Last Changed Date: 2019-03-06 13:42:29.000000002 +0100 ./.target-makefrag

View File

@ -1,6 +1,6 @@
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
#define GITREPUUID "9d9251293d1a0b5300b8d7191949cf01de1c7b81"
#define GITREPUUID "0765b330f116fd47b84c065d89789f4996573f23"
#define GITAUTH "Dhanya_Thattil"
#define GITREV 0x4255
#define GITDATE 0x20190115
#define GITREV 0x4381
#define GITDATE 0x20190306
#define GITBRANCH "refactor"

View File

@ -1522,7 +1522,10 @@ int configureMAC(uint32_t destip, uint64_t destmac, uint64_t sourcemac, uint32_t
FILE_LOG(logINFO, ("\twaited %d loops to start\n", loop));
FILE_LOG(logINFO, ("\tWaiting for acquisition to end (frames left: %lld)\n", (long long int)getTimeLeft(FRAME_NUMBER)));
waitForAcquisitionFinish();
// wait for status to be done
while(runBusy()){
usleep(500);
}
// set to previous parameters
FILE_LOG(logINFO, ("\tSetting previous parameters:\n"

View File

@ -1,9 +1,9 @@
Path: slsDetectorPackage/slsDetectorServers/moenchDetectorServer
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
Repsitory UUID: 08bd2378f4956ea9a0b75381872854b3b129288f
Revision: 9
Repsitory UUID: 0765b330f116fd47b84c065d89789f4996573f23
Revision: 13
Branch: refactor
Last Changed Author: Dhanya_Thattil
Last Changed Rev: 4372
Last Changed Date: 2019-03-05 09:35:29.000000002 +0100 ./RegisterDefs.h
Last Changed Rev: 4381
Last Changed Date: 2019-03-06 13:42:29.000000002 +0100 ./RegisterDefs.h

View File

@ -1,6 +1,6 @@
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
#define GITREPUUID "08bd2378f4956ea9a0b75381872854b3b129288f"
#define GITREPUUID "0765b330f116fd47b84c065d89789f4996573f23"
#define GITAUTH "Dhanya_Thattil"
#define GITREV 0x4372
#define GITDATE 0x20190305
#define GITREV 0x4381
#define GITDATE 0x20190306
#define GITBRANCH "refactor"

View File

@ -533,12 +533,12 @@ void setupDetector() {
setTiming(DEFAULT_TIMING_MODE);
// ensuring normal readout (only option for moench)
bus_w(addr, bus_r(addr) & (~CONFIG_DSBL_ANLG_OTPT_MSK) & (~CONFIG_ENBLE_DGTL_OTPT_MSK));
bus_w(CONFIG_REG, bus_r(CONFIG_REG) & (~CONFIG_DSBL_ANLG_OTPT_MSK) & (~CONFIG_ENBLE_DGTL_OTPT_MSK));
// clear roi
{
int ret = OK, retvalsize = 0;
setROI(0, rois, &ret, &retvalsize);
setROI(0, rois, &retvalsize, &ret);
}
}
@ -600,6 +600,7 @@ int getChannels() {
}
if (digitalEnable)
nchans += NCHAN_DIGITAL;
FILE_LOG(logINFO, ("\tNumber of Channels calculated: %d\n", nchans))
return nchans;
}
@ -657,13 +658,13 @@ ROI* setROI(int n, ROI arg[], int *retvalsize, int *ret) {
int iroi = 0;
// for every roi
for (iroi = 0; iroi < n; ++iroi) {
FILE_LOG(logINFO, ("\t%d: (%d, %d)\n", arg[iroi].xmin, arg[iroi].xmax));
FILE_LOG(logINFO, ("\t%d: (%d, %d)\n", iroi, arg[iroi].xmin, arg[iroi].xmax));
// swap if xmin > xmax
if (arg[iroi].xmin > arg[iroi].xmax) {
int temp = arg[iroi].xmin;
arg[iroi].xmin = arg[iroi].xmax;
arg[iroi].xmax = temp;
FILE_LOG(logINFORED, ("\tCorrected %d: (%d, %d)\n", arg[iroi].xmin, arg[iroi].xmax));
FILE_LOG(logINFORED, ("\tCorrected %d: (%d, %d)\n", iroi, arg[iroi].xmin, arg[iroi].xmax));
}
int ich = 0;
// for the roi specified

View File

@ -142,7 +142,7 @@ void AD9252_Set(int addr, int val) {
codata = val + (addr << 8);
FILE_LOG(logINFO, ("\tSetting ADC SPI Register. Wrote 0x%04x at 0x%04x\n", val, addr));
serializeToSPI(AD9252_Reg, codata, AD9252_CsMask, AD9252_ADC_NUMBITS,
AD9252_ClkMask, AD9252_DigMask, AD9252_DigOffset);
AD9252_ClkMask, AD9252_DigMask, AD9252_DigOffset, 0);
}
/**

View File

@ -168,7 +168,6 @@ int mapCSP0(void) {
(long long unsigned int)CSP0BASE,
(long long unsigned int)(CSP0BASE+MEM_SIZE)));
FILE_LOG(logINFO, ("Status Register: %08x\n", bus_r(STATUS_REG)));
FILE_LOG(logINFO, ("looka t me Register: %08x\n", bus_r(LOOK_AT_ME_REG)));
}else
FILE_LOG(logINFO, ("Memory already mapped before\n"));
return OK;

View File

@ -2193,11 +2193,29 @@ int send_update(int file_des) {
if (n < 0) return printSocketReadError();
#endif
// #samples
#if defined(CHIPTESTBOARDD) || defined(MOENCHD)
// #samples, roi
#if defined(CHIPTESTBOARDD) || defined(MOENCHD) || defined(GOTTHARDD)
i64 = setTimer(SAMPLES,GET_FLAG);
n = sendData(file_des,&i64,sizeof(i64),INT64);
if (n < 0) return printSocketReadError();
// roi
ROI* retval = NULL;
ROI arg[1];
int ret = OK, nretval = 0;
retval = setROI(-1, arg, &nretval, &ret);
//retvalsize could be swapped during sendData
int nretval1 = nretval;
sendData(file_des, &nretval1, sizeof(nretval1), INT32);
int iloop = 0;
for(iloop = 0; iloop < nretval; ++iloop) {
sendData(file_des, &retval[iloop].xmin, sizeof(int), INT32);
sendData(file_des, &retval[iloop].xmax, sizeof(int), INT32);
sendData(file_des, &retval[iloop].ymin, sizeof(int), INT32);
sendData(file_des, &retval[iloop].ymax, sizeof(int), INT32);
}
#endif
if (lockStatus == 0) {