G2parallel (#514)

* g2: non parallel added
This commit is contained in:
Dhanya Thattil
2022-08-16 09:35:39 +02:00
committed by GitHub
parent 22b9562629
commit 1bc4994be6
11 changed files with 44 additions and 12 deletions

View File

@ -155,6 +155,8 @@
#define ASIC_CONFIG_RESERVED_VAL ((0x3 << ASIC_CONFIG_GAIN_OFST) & ASIC_CONFIG_GAIN_MSK)
#define ASIC_CONFIG_CURRENT_SRC_EN_OFST (7)
#define ASIC_CONFIG_CURRENT_SRC_EN_MSK (0x00000001 << ASIC_CONFIG_CURRENT_SRC_EN_OFST)
#define ASIC_CONFIG_NON_PARALLEL_RD_OFST (8)
#define ASIC_CONFIG_NON_PARALLEL_RD_MSK (0x00000001 << ASIC_CONFIG_NON_PARALLEL_RD_OFST)
#define ASIC_CONFIG_RST_DAC_OFST (15)
#define ASIC_CONFIG_RST_DAC_MSK (0x00000001 << ASIC_CONFIG_RST_DAC_OFST)
#define ASIC_CONFIG_DOUT_RDY_SRC_OFST (16)

View File

@ -999,6 +999,28 @@ void resetPeripheral() {
bus_w(CONTROL_REG, bus_r(CONTROL_REG) | CONTROL_PRPHRL_RST_MSK);
}
/* set parameters - readout */
int setParallelMode(int mode) {
if (mode < 0)
return FAIL;
LOG(logINFO, ("Setting %s mode\n", (mode ? "Parallel" : "Non Parallel")));
uint32_t addr = ASIC_CONFIG_REG;
if (mode) {
bus_w(addr, bus_r(addr) & ~ASIC_CONFIG_NON_PARALLEL_RD_MSK);
} else {
bus_w(addr, bus_r(addr) | ASIC_CONFIG_NON_PARALLEL_RD_MSK);
}
return OK;
}
int getParallelMode() {
int nonparallel =
((bus_r(ASIC_CONFIG_REG) & ASIC_CONFIG_NON_PARALLEL_RD_MSK) >>
ASIC_CONFIG_NON_PARALLEL_RD_OFST);
return (nonparallel == 0 ? 1 : 0);
}
/* set parameters - dr, roi */
int setDynamicRange(int dr) {

View File

@ -207,7 +207,7 @@ int setExternalSampling(int val);
#endif
// parameters - readout
#if defined(EIGERD) || defined(MYTHEN3D)
#if defined(EIGERD) || defined(MYTHEN3D) || defined(GOTTHARD2D)
int setParallelMode(int mode);
int getParallelMode();
#endif

View File

@ -5499,7 +5499,7 @@ int set_parallel_mode(int file_des) {
return printSocketReadError();
LOG(logINFO, ("Setting parallel mode: %u\n", arg));
#if !defined(EIGERD) && !defined(MYTHEN3D)
#if !defined(EIGERD) && !defined(MYTHEN3D) && !defined(GOTTHARD2D)
functionNotImplemented();
#else
// only set
@ -5530,7 +5530,7 @@ int get_parallel_mode(int file_des) {
LOG(logDEBUG1, ("Getting parallel mode\n"));
#if !defined(EIGERD) && !defined(MYTHEN3D)
#if !defined(EIGERD) && !defined(MYTHEN3D) && !defined(GOTTHARD2D)
functionNotImplemented();
#else
// get only