mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-23 18:17:59 +02:00
mythen3: txndelay frame added
This commit is contained in:
@ -140,6 +140,13 @@
|
||||
|
||||
#define DTA_OFFSET_REG (0x24 * REG_OFFSET + BASE_CONTROL)
|
||||
|
||||
/* Formatting for data core -----------------------------------------------*/
|
||||
#define FMT_CONFIG_REG (0x00 * REG_OFFSET + BASE_FMT)
|
||||
|
||||
#define FMT_CONFIG_TXN_DELAY_OFST (0)
|
||||
#define FMT_CONFIG_TXN_DELAY_MSK (0x00FFFFFF << FMT_CONFIG_TXN_DELAY_OFST)
|
||||
|
||||
|
||||
/* Packetizer -------------------------------------------------------------*/
|
||||
|
||||
/* Packetizer Config Register */
|
||||
|
@ -2067,6 +2067,28 @@ int getClockDivider(enum CLKINDEX ind) {
|
||||
return clkDivider[ind];
|
||||
}
|
||||
|
||||
int getTransmissionDelayFrame() {
|
||||
return ((bus_r(FMT_CONFIG_REG) & FMT_CONFIG_TXN_DELAY_MSK) >>
|
||||
FMT_CONFIG_TXN_DELAY_OFST);
|
||||
}
|
||||
|
||||
int setTransmissionDelayFrame(int value) {
|
||||
if (value < 0 || value > MAX_TIMESLOT_VAL) {
|
||||
LOG(logERROR, ("Transmission delay %d should be in range: 0 - %d\n",
|
||||
value, MAX_TIMESLOT_VAL));
|
||||
return FAIL;
|
||||
}
|
||||
LOG(logINFO, ("Setting transmission delay: %d\n", value));
|
||||
uint32_t addr = FMT_CONFIG_REG;
|
||||
bus_w(addr, bus_r(addr) & ~FMT_CONFIG_TXN_DELAY_MSK);
|
||||
bus_w(addr, (bus_r(addr) | ((value << FMT_CONFIG_TXN_DELAY_OFST) &
|
||||
FMT_CONFIG_TXN_DELAY_MSK)));
|
||||
LOG(logDEBUG1, ("Transmission delay read %d\n",
|
||||
((bus_r(addr) & FMT_CONFIG_TXN_DELAY_MSK) >>
|
||||
FMT_CONFIG_TXN_DELAY_OFST)));
|
||||
return OK;
|
||||
}
|
||||
|
||||
/* aquisition */
|
||||
|
||||
int startStateMachine() {
|
||||
|
@ -45,6 +45,7 @@
|
||||
#define DEFAULT_MSTR_OTPT_P1_NUM_PULSES (20)
|
||||
|
||||
/* Firmware Definitions */
|
||||
#define MAX_TIMESLOT_VAL (0xFFFFFF)
|
||||
#define IP_HEADER_SIZE (20)
|
||||
#define FIXED_PLL_FREQUENCY (020000000) // 20MHz
|
||||
#define READOUT_PLL_VCO_FREQ_HZ (1250000000) // 1.25GHz
|
||||
|
@ -531,6 +531,8 @@ int *getBadChannels(int *nch);
|
||||
#if defined(JUNGFRAUD) || defined(EIGERD)
|
||||
int getTenGigaFlowControl();
|
||||
int setTenGigaFlowControl(int value);
|
||||
#endif
|
||||
#if defined(JUNGFRAUD) || defined(EIGERD) || defined(MYTHEN3D)
|
||||
int getTransmissionDelayFrame();
|
||||
int setTransmissionDelayFrame(int value);
|
||||
#endif
|
||||
|
@ -3489,12 +3489,12 @@ int set_transmission_delay_frame(int file_des) {
|
||||
return printSocketReadError();
|
||||
LOG(logINFO, ("Setting transmission delay frame: %d\n", arg));
|
||||
|
||||
#if !defined(EIGERD) && !defined(JUNGFRAUD)
|
||||
#if !defined(EIGERD) && !defined(JUNGFRAUD) && !defined(MYTHEN3D)
|
||||
functionNotImplemented();
|
||||
#else
|
||||
// only set
|
||||
if (Server_VerifyLock() == OK) {
|
||||
#ifdef JUNGFRAUD
|
||||
#if defined(JUNGFRAUD) || defined(MYTHEN3D)
|
||||
if (arg > MAX_TIMESLOT_VAL) {
|
||||
ret = FAIL;
|
||||
sprintf(mess, "Transmission delay %d should be in range: 0 - %d\n",
|
||||
@ -3526,7 +3526,7 @@ int get_transmission_delay_frame(int file_des) {
|
||||
|
||||
LOG(logDEBUG1, ("Getting transmission delay frame\n"));
|
||||
|
||||
#if !defined(EIGERD) && !defined(JUNGFRAUD)
|
||||
#if !defined(EIGERD) && !defined(JUNGFRAUD) && !defined(MYTHEN3D)
|
||||
functionNotImplemented();
|
||||
#else
|
||||
// get only
|
||||
|
Reference in New Issue
Block a user