mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-21 11:20:04 +02:00
G2 hdi id (#521)
* g2: hdi value in fpga is 3 bits, so using appropriate enum for it * hdi id bits are determined * fw date changed (g2)
This commit is contained in:
parent
67eea7ac36
commit
da16c1101c
@ -102,9 +102,13 @@
|
|||||||
#define CONFIG_VETO_CH_10GBE_ENBL_MSK (0x00000001 << CONFIG_VETO_CH_10GBE_ENBL_OFST)
|
#define CONFIG_VETO_CH_10GBE_ENBL_MSK (0x00000001 << CONFIG_VETO_CH_10GBE_ENBL_OFST)
|
||||||
#define CONFIG_SLAVE_OFST (16)
|
#define CONFIG_SLAVE_OFST (16)
|
||||||
#define CONFIG_SLAVE_MSK (0x00000001 << CONFIG_SLAVE_OFST)
|
#define CONFIG_SLAVE_MSK (0x00000001 << CONFIG_SLAVE_OFST)
|
||||||
#define CONFIG_HDI_MOD_ID_OFST (17)
|
#define CONFIG_HDI_SLAVE_OFST (17)
|
||||||
#define CONFIG_HDI_MOD_ID_MSK (0x00000007 << CONFIG_HDI_MOD_ID_OFST)
|
#define CONFIG_HDI_SLAVE_MSK (0x00000001 << CONFIG_HDI_SLAVE_OFST)
|
||||||
#define CONFIG_FLIP_DATA_STREAM_OFST (20)
|
#define CONFIG_HDI_VERSION_OFST (18)
|
||||||
|
#define CONFIG_HDI_VERSION_MSK (0x0000001F << CONFIG_HDI_VERSION_OFST)
|
||||||
|
#define CONFIG_HDI_25UM_OFST (23)
|
||||||
|
#define CONFIG_HDI_25UM_MSK (0x00000001 << CONFIG_HDI_25UM_OFST)
|
||||||
|
#define CONFIG_FLIP_DATA_STREAM_OFST (24)
|
||||||
#define CONFIG_FLIP_DATA_STREAM_MSK (0x00000001 << CONFIG_FLIP_DATA_STREAM_OFST)
|
#define CONFIG_FLIP_DATA_STREAM_MSK (0x00000001 << CONFIG_FLIP_DATA_STREAM_OFST)
|
||||||
#define ALGORITHM_HITS_VAL (0x0)
|
#define ALGORITHM_HITS_VAL (0x0)
|
||||||
#define ALGORITHM_RAW_VAL (0x7)
|
#define ALGORITHM_RAW_VAL (0x7)
|
||||||
|
Binary file not shown.
@ -2029,23 +2029,31 @@ int checkDetectorType(char *mess) {
|
|||||||
LOG(logERROR, (mess));
|
LOG(logERROR, (mess));
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
int type = atoi(buffer);
|
int type = atoi(buffer);
|
||||||
enum MASTERINDEX master = OW_MASTER;
|
int hdiSlave = 0;
|
||||||
if (abs(type - TYPE_GOTTHARD2_25UM_MASTER_HD1_V1_VAL) <= TYPE_TOLERANCE) {
|
int hdiVersion = 0x1;
|
||||||
|
int hdi25um = 1;
|
||||||
|
if (abs(type - TYPE_GOTTHARD2_25UM_MASTER_HD1_V1_VAL) <=
|
||||||
|
TYPE_TOLERANCE) {
|
||||||
LOG(logINFOBLUE, ("MASTER 25um Module (HDI v1.0)\n"));
|
LOG(logINFOBLUE, ("MASTER 25um Module (HDI v1.0)\n"));
|
||||||
} else if (abs(type - TYPE_GOTTHARD2_25UM_MASTER_HD1_V2_VAL) <=
|
} else if (abs(type - TYPE_GOTTHARD2_25UM_MASTER_HD1_V2_VAL) <=
|
||||||
TYPE_TOLERANCE) {
|
TYPE_TOLERANCE) {
|
||||||
LOG(logINFOBLUE, ("MASTER 25um Module (HDI v2.0)\n"));
|
LOG(logINFOBLUE, ("MASTER 25um Module (HDI v2.0)\n"));
|
||||||
|
hdiVersion = 0x2;
|
||||||
} else if (abs(type - TYPE_GOTTHARD2_25UM_SLAVE_HDI_V1_VAL) <=
|
} else if (abs(type - TYPE_GOTTHARD2_25UM_SLAVE_HDI_V1_VAL) <=
|
||||||
TYPE_TOLERANCE) {
|
TYPE_TOLERANCE) {
|
||||||
LOG(logINFOBLUE, ("SLAVE 25um Module (HDI v1.0)\n"));
|
LOG(logINFOBLUE, ("SLAVE 25um Module (HDI v1.0)\n"));
|
||||||
master = OW_SLAVE;
|
hdiSlave = 1;
|
||||||
} else if (abs(type - TYPE_GOTTHARD2_25UM_SLAVE_HDI_V2_VAL) <=
|
} else if (abs(type - TYPE_GOTTHARD2_25UM_SLAVE_HDI_V2_VAL) <=
|
||||||
TYPE_TOLERANCE) {
|
TYPE_TOLERANCE) {
|
||||||
LOG(logINFOBLUE, ("SLAVE 25um Module (HDI v2.0)\n"));
|
LOG(logINFOBLUE, ("SLAVE 25um Module (HDI v2.0)\n"));
|
||||||
master = OW_SLAVE;
|
hdiSlave = 1;
|
||||||
|
hdiVersion = 0x2;
|
||||||
} else if (abs(type - TYPE_GOTTHARD2_MODULE_VAL) <= TYPE_TOLERANCE) {
|
} else if (abs(type - TYPE_GOTTHARD2_MODULE_VAL) <= TYPE_TOLERANCE) {
|
||||||
LOG(logINFOBLUE, ("50um Module\n"));
|
LOG(logINFOBLUE, ("50um Module\n"));
|
||||||
|
hdi25um = 0;
|
||||||
}
|
}
|
||||||
// no module or invalid module
|
// no module or invalid module
|
||||||
else if (type > TYPE_NO_MODULE_STARTING_VAL) {
|
else if (type > TYPE_NO_MODULE_STARTING_VAL) {
|
||||||
@ -2064,14 +2072,31 @@ int checkDetectorType(char *mess) {
|
|||||||
LOG(logERROR, (mess));
|
LOG(logERROR, (mess));
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
bus_w(CONFIG_REG, bus_r(CONFIG_REG) & ~CONFIG_HDI_MOD_ID_MSK);
|
if (hdiSlave) {
|
||||||
bus_w(CONFIG_REG, bus_r(CONFIG_REG) | ((type << CONFIG_HDI_MOD_ID_OFST) &
|
bus_w(CONFIG_REG, bus_r(CONFIG_REG) | CONFIG_HDI_SLAVE_MSK);
|
||||||
CONFIG_HDI_MOD_ID_MSK));
|
} else {
|
||||||
|
bus_w(CONFIG_REG, bus_r(CONFIG_REG) & ~CONFIG_HDI_SLAVE_MSK);
|
||||||
|
}
|
||||||
|
if (hdi25um) {
|
||||||
|
bus_w(CONFIG_REG, bus_r(CONFIG_REG) | CONFIG_HDI_25UM_MSK);
|
||||||
|
} else {
|
||||||
|
bus_w(CONFIG_REG, bus_r(CONFIG_REG) & ~CONFIG_HDI_25UM_MSK);
|
||||||
|
}
|
||||||
|
bus_w(CONFIG_REG, bus_r(CONFIG_REG) & ~CONFIG_HDI_VERSION_MSK);
|
||||||
|
bus_w(CONFIG_REG,
|
||||||
|
bus_r(CONFIG_REG) | ((hdiVersion << CONFIG_HDI_VERSION_OFST) &
|
||||||
|
CONFIG_HDI_VERSION_MSK));
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
enum MASTERINDEX master =
|
||||||
|
(bus_r(CONFIG_REG) & CONFIG_HDI_SLAVE_MSK) ? OW_SLAVE : OW_MASTER;
|
||||||
if (setMaster(master) == FAIL) {
|
if (setMaster(master) == FAIL) {
|
||||||
strcpy(mess, "Could not set to master/slave.");
|
strcpy(mess, "Could not set to master/slave.");
|
||||||
LOG(logERROR, (mess));
|
LOG(logERROR, (mess));
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "sls/sls_detector_defs.h"
|
#include "sls/sls_detector_defs.h"
|
||||||
|
|
||||||
#define REQRD_FRMWRE_VRSN (0x220720)
|
#define REQRD_FRMWRE_VRSN (0x220818)
|
||||||
#define KERNEL_DATE_VRSN "Mon May 10 18:00:21 CEST 2021"
|
#define KERNEL_DATE_VRSN "Mon May 10 18:00:21 CEST 2021"
|
||||||
#define ID_FILE "detid_gotthard2.txt"
|
#define ID_FILE "detid_gotthard2.txt"
|
||||||
|
|
||||||
|
@ -7,8 +7,8 @@
|
|||||||
#define APIGUI 0x220609
|
#define APIGUI 0x220609
|
||||||
#define APIGOTTHARD 0x220816
|
#define APIGOTTHARD 0x220816
|
||||||
#define APIEIGER 0x220816
|
#define APIEIGER 0x220816
|
||||||
#define APIGOTTHARD2 0x220816
|
|
||||||
#define APIJUNGFRAU 0x220816
|
#define APIJUNGFRAU 0x220816
|
||||||
|
#define APIGOTTHARD2 0x220818
|
||||||
#define APIMOENCH 0x220822
|
#define APIMOENCH 0x220822
|
||||||
#define APIMYTHEN3 0x220822
|
#define APIMYTHEN3 0x220822
|
||||||
#define APICTB 0x220822
|
#define APICTB 0x220822
|
||||||
|
Loading…
x
Reference in New Issue
Block a user