mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-24 23:30:03 +02:00
Some fixes for the CTB
This commit is contained in:
parent
74ef04e726
commit
327c2106df
@ -2619,7 +2619,7 @@ uint64_t writePatternWord(int addr, uint64_t word) {
|
||||
if (addr>=MAX_PATTERN_LENGTH)
|
||||
return -1;
|
||||
|
||||
if (word>=0) {
|
||||
if (word=!-1){
|
||||
set64BitReg(word,PATTERN_IN_REG_LSB,PATTERN_IN_REG_MSB);
|
||||
cntrl= (addr&APATTERN_MASK) << PATTERN_CTRL_ADDR_OFFSET;
|
||||
bus_w(PATTERN_CNTRL_REG, cntrl);
|
||||
|
Binary file not shown.
Binary file not shown.
@ -254,38 +254,38 @@
|
||||
|
||||
|
||||
|
||||
#define ROI_REG 0x35<<11
|
||||
#define OVERSAMPLING_REG 0x36<<11
|
||||
#define MOENCH_CNTR_REG 0x31<<11
|
||||
#define MOENCH_CNTR_OUT_REG 0x33<<11
|
||||
#define MOENCH_CNTR_CONF_REG 0x32<<11
|
||||
#define ROI_REG 0 // 0x35<<11
|
||||
#define OVERSAMPLING_REG 0 // 0x36<<11
|
||||
#define MOENCH_CNTR_REG 0 // 0x31<<11
|
||||
#define MOENCH_CNTR_OUT_REG 0 // 0x33<<11
|
||||
#define MOENCH_CNTR_CONF_REG 0 // 0x32<<11
|
||||
|
||||
|
||||
|
||||
//image
|
||||
#define DARK_IMAGE_REG 0x81<<11
|
||||
#define GAIN_IMAGE_REG 0x82<<11
|
||||
#define DARK_IMAGE_REG 0 // 0x81<<11
|
||||
#define GAIN_IMAGE_REG 0 // 0x82<<11
|
||||
|
||||
//counter block memory
|
||||
#define COUNTER_MEMORY_REG 0x85<<11
|
||||
#define COUNTER_MEMORY_REG 0 // 0x85<<11
|
||||
|
||||
|
||||
#define GET_MEASUREMENT_TIME_LSB_REG 0x023000
|
||||
#define GET_MEASUREMENT_TIME_MSB_REG 0x024000
|
||||
#define GET_MEASUREMENT_TIME_LSB_REG 0 // 0x023000
|
||||
#define GET_MEASUREMENT_TIME_MSB_REG 0 // 0x024000
|
||||
|
||||
//#define GET_ACTUAL_TIME_LSB_REG 0x025000
|
||||
//#define GET_ACTUAL_TIME_MSB_REG 0x026000
|
||||
//#define GET_ACTUAL_TIME_LSB_REG 0 // 0x025000
|
||||
//#define GET_ACTUAL_TIME_MSB_REG 0 // 0x026000
|
||||
|
||||
|
||||
//not used
|
||||
//#define MCB_DOUT_REG_OFF 0x200000
|
||||
//#define FIFO_CNTRL_REG_OFF 0x300000
|
||||
//#define FIFO_COUNTR_REG_OFF 0x400000
|
||||
//#define MCB_DOUT_REG_OFF 0 // 0x200000
|
||||
//#define FIFO_CNTRL_REG_OFF 0 // 0x300000
|
||||
//#define FIFO_COUNTR_REG_OFF 0 // 0x400000
|
||||
//not used so far
|
||||
//#define SPEED_REG 0x006000
|
||||
//#define SET_NBITS_REG 0x008000
|
||||
//#define SPEED_REG 0 // 0x006000
|
||||
//#define SET_NBITS_REG 0 // 0x008000
|
||||
//not used
|
||||
//#define GET_SHIFT_IN_REG 0x022000
|
||||
//#define GET_SHIFT_IN_REG 0 // 0x022000
|
||||
|
||||
|
||||
|
||||
|
@ -4839,7 +4839,7 @@ int multiSlsDetector::enableTenGigabitEthernet(int i){
|
||||
@param fname pattern file to open
|
||||
@returns OK/FAIL
|
||||
*/
|
||||
int setCTBPattern(string fname) {
|
||||
int multiSlsDetector::setCTBPattern(string fname) {
|
||||
|
||||
|
||||
|
||||
@ -4853,7 +4853,7 @@ int setCTBPattern(string fname) {
|
||||
@param word 64bit word to be written, -1 gets
|
||||
@returns actual value
|
||||
*/
|
||||
uint64_t setCTBWord(int addr,uint64_t word) {
|
||||
uint64_t multiSlsDetector::setCTBWord(int addr,uint64_t word) {
|
||||
uint64_t ret=-100,ret1;
|
||||
for (int idet=0; idet<thisMultiDetector->numberOfDetectors; idet++)
|
||||
if (detectors[idet]){
|
||||
@ -4878,7 +4878,7 @@ uint64_t setCTBWord(int addr,uint64_t word) {
|
||||
@param n number of loops (if level >=0)
|
||||
@returns OK/FAIL
|
||||
*/
|
||||
int setCTBPatLoops(int level,int &start, int &stop, int &n) {
|
||||
int multiSlsDetector::setCTBPatLoops(int level,int &start, int &stop, int &n) {
|
||||
|
||||
|
||||
int ret=-100,ret1;
|
||||
@ -4903,7 +4903,7 @@ int setCTBPatLoops(int level,int &start, int &stop, int &n) {
|
||||
@param addr wait address, -1 gets
|
||||
@returns actual value
|
||||
*/
|
||||
int setCTBPatWaitAddr(int level, int addr) {
|
||||
int multiSlsDetector::setCTBPatWaitAddr(int level, int addr) {
|
||||
|
||||
|
||||
|
||||
@ -4929,7 +4929,7 @@ int setCTBPatWaitAddr(int level, int addr) {
|
||||
@param t wait time, -1 gets
|
||||
@returns actual value
|
||||
*/
|
||||
int setCTBPatWaitTime(int level, uint64_t t=-1) {
|
||||
int multiSlsDetector::setCTBPatWaitTime(int level, uint64_t t) {
|
||||
|
||||
|
||||
|
||||
|
@ -1254,7 +1254,7 @@ class multiSlsDetector : public slsDetectorUtils {
|
||||
@param word 64bit word to be written, -1 gets
|
||||
@returns actual value
|
||||
*/
|
||||
int setCTBWord(int addr,uint64_t word=-1);
|
||||
uint64_t setCTBWord(int addr,uint64_t word=-1);
|
||||
|
||||
/** Sets the pattern or loop limits in the CTB
|
||||
@param level -1 complete pattern, 0,1,2, loop level
|
||||
|
@ -6801,23 +6801,23 @@ int slsDetector::enableTenGigabitEthernet(int i){
|
||||
@param fname pattern file to open
|
||||
@returns OK/FAIL
|
||||
*/
|
||||
int setCTBPattern(string fname) {
|
||||
int slsDetector::setCTBPattern(string fname) {
|
||||
|
||||
|
||||
int fnum=F_SEND_RECEIVER_DETHOSTNAME;
|
||||
int fnum=F_SET_CTB_PATTERN;
|
||||
int ret = FAIL;
|
||||
char retval[MAX_STR_LENGTH]="";
|
||||
|
||||
|
||||
if(setReceiverOnline(ONLINE_FLAG)==ONLINE_FLAG){
|
||||
#ifdef VERBOSE
|
||||
std::cout << "Sending detector hostname to Receiver " << thisDetector->hostname << std::endl;
|
||||
#endif
|
||||
if (connectData() == OK)
|
||||
ret=thisReceiver->sendString(fnum,retval,thisDetector->hostname);
|
||||
if((ret==FAIL) || (strcmp(retval,thisDetector->hostname)))
|
||||
setErrorMask((getErrorMask())|(RECEIVER_DET_HOSTNAME_NOT_SET));
|
||||
}
|
||||
// if(setReceiverOnline(ONLINE_FLAG)==ONLINE_FLAG){
|
||||
// #ifdef VERBOSE
|
||||
// std::cout << "Sending detector hostname to Receiver " << thisDetector->hostname << std::endl;
|
||||
// #endif
|
||||
// if (connectData() == OK)
|
||||
// ret=thisReceiver->sendString(fnum,retval,thisDetector->hostname);
|
||||
// if((ret==FAIL) || (strcmp(retval,thisDetector->hostname)))
|
||||
// setErrorMask((getErrorMask())|(RECEIVER_DET_HOSTNAME_NOT_SET));
|
||||
// }
|
||||
|
||||
return ret;
|
||||
|
||||
@ -6830,9 +6830,9 @@ int setCTBPattern(string fname) {
|
||||
@param word 64bit word to be written, -1 gets
|
||||
@returns actual value
|
||||
*/
|
||||
uint64_t setCTBWord(int addr,uint64_t word) {
|
||||
uint64_t slsDetector::setCTBWord(int addr,uint64_t word) {
|
||||
|
||||
uint64_t ret;
|
||||
//uint64_t ret;
|
||||
|
||||
int ret=FAIL;
|
||||
uint64_t retval=-1;
|
||||
@ -6876,7 +6876,7 @@ uint64_t setCTBWord(int addr,uint64_t word) {
|
||||
@param n number of loops (if level >=0)
|
||||
@returns OK/FAIL
|
||||
*/
|
||||
int setCTBPatLoops(int level,int &start, int &stop, int &n) {
|
||||
int slsDetector::setCTBPatLoops(int level,int &start, int &stop, int &n) {
|
||||
|
||||
|
||||
int retval[3], args[4];
|
||||
@ -6888,7 +6888,6 @@ int setCTBPatLoops(int level,int &start, int &stop, int &n) {
|
||||
|
||||
|
||||
int ret=FAIL;
|
||||
uint64_t retval=-1;
|
||||
int fnum=F_SET_CTB_PATTERN;
|
||||
int mode=1; //sets loop
|
||||
|
||||
@ -6930,7 +6929,7 @@ int setCTBPatLoops(int level,int &start, int &stop, int &n) {
|
||||
@param addr wait address, -1 gets
|
||||
@returns actual value
|
||||
*/
|
||||
int setCTBPatWaitAddr(int level, int addr=-1) {
|
||||
int slsDetector::setCTBPatWaitAddr(int level, int addr) {
|
||||
|
||||
|
||||
|
||||
@ -6939,7 +6938,6 @@ int setCTBPatWaitAddr(int level, int addr=-1) {
|
||||
|
||||
|
||||
int ret=FAIL;
|
||||
uint64_t retval=-1;
|
||||
int fnum=F_SET_CTB_PATTERN;
|
||||
int mode=3; //sets loop
|
||||
|
||||
@ -6979,7 +6977,7 @@ int setCTBPatWaitAddr(int level, int addr=-1) {
|
||||
@param t wait time, -1 gets
|
||||
@returns actual value
|
||||
*/
|
||||
int setCTBPatWaitTime(int level, uint64_t t=-1) {
|
||||
int slsDetector::setCTBPatWaitTime(int level, uint64_t t) {
|
||||
|
||||
|
||||
|
||||
@ -6989,7 +6987,7 @@ int setCTBPatWaitTime(int level, uint64_t t=-1) {
|
||||
|
||||
|
||||
int ret=FAIL;
|
||||
uint64_t retval=-1;
|
||||
// uint64_t retval=-1;
|
||||
int fnum=F_SET_CTB_PATTERN;
|
||||
int mode=4; //sets loop
|
||||
|
||||
|
@ -1665,7 +1665,7 @@ class slsDetector : public slsDetectorUtils, public energyConversion {
|
||||
@param word 64bit word to be written, -1 gets
|
||||
@returns actual value
|
||||
*/
|
||||
int setCTBWord(int addr,uint64_t word=-1);
|
||||
uint64_t setCTBWord(int addr,uint64_t word=-1);
|
||||
|
||||
/** Sets the pattern or loop limits in the CTB
|
||||
@param level -1 complete pattern, 0,1,2, loop level
|
||||
|
@ -4322,7 +4322,7 @@ string slsDetectorCommand::cmdPattern(int narg, char *args[], int action) {
|
||||
|
||||
**********/
|
||||
ostringstream os;
|
||||
if (cmd=="pattern")
|
||||
if (cmd=="pattern") ;
|
||||
else if (cmd=="patword") ;
|
||||
else if (cmd=="patioctrl") ;
|
||||
else if (cmd=="patclkctrl") ;
|
||||
|
Loading…
x
Reference in New Issue
Block a user