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