mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-28 17:10:03 +02:00
Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer
This commit is contained in:
commit
de39310a9c
Binary file not shown.
@ -409,9 +409,6 @@ void setupDetector() {
|
|||||||
setDefaultDacs();
|
setDefaultDacs();
|
||||||
setASICDefaults();
|
setASICDefaults();
|
||||||
|
|
||||||
// no roi for 1g and 10g
|
|
||||||
setumberOfDeserializers(MAX_NUM_DESERIALIZERS, 0);
|
|
||||||
setumberOfDeserializers(MAX_NUM_DESERIALIZERS, 1);
|
|
||||||
// dynamic range
|
// dynamic range
|
||||||
setDynamicRange(DEFAULT_DYNAMIC_RANGE);
|
setDynamicRange(DEFAULT_DYNAMIC_RANGE);
|
||||||
// enable all counters
|
// enable all counters
|
||||||
@ -555,7 +552,7 @@ int setDynamicRange(int dr) {
|
|||||||
// set it
|
// set it
|
||||||
bus_w(CONFIG_REG, bus_r(CONFIG_REG) & ~CONFIG_DYNAMIC_RANGE_MSK);
|
bus_w(CONFIG_REG, bus_r(CONFIG_REG) & ~CONFIG_DYNAMIC_RANGE_MSK);
|
||||||
bus_w(CONFIG_REG, bus_r(CONFIG_REG) | regval);
|
bus_w(CONFIG_REG, bus_r(CONFIG_REG) | regval);
|
||||||
updateNumberOfPackets();
|
updatePacketizing();
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t regval = bus_r(CONFIG_REG) & CONFIG_DYNAMIC_RANGE_MSK;
|
uint32_t regval = bus_r(CONFIG_REG) & CONFIG_DYNAMIC_RANGE_MSK;
|
||||||
@ -1036,7 +1033,7 @@ void setCounterMask(uint32_t arg) {
|
|||||||
CONFIG_COUNTERS_ENA_MSK));
|
CONFIG_COUNTERS_ENA_MSK));
|
||||||
LOG(logDEBUG, ("Config Reg: 0x%x\n", bus_r(addr)));
|
LOG(logDEBUG, ("Config Reg: 0x%x\n", bus_r(addr)));
|
||||||
|
|
||||||
updateNumberOfPackets();
|
updatePacketizing();
|
||||||
updateGatePeriod();
|
updateGatePeriod();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1044,22 +1041,8 @@ uint32_t getCounterMask() {
|
|||||||
return ((bus_r(CONFIG_REG) & CONFIG_COUNTERS_ENA_MSK) >>
|
return ((bus_r(CONFIG_REG) & CONFIG_COUNTERS_ENA_MSK) >>
|
||||||
CONFIG_COUNTERS_ENA_OFST);
|
CONFIG_COUNTERS_ENA_OFST);
|
||||||
}
|
}
|
||||||
void setumberOfDeserializers(int val, int tgEnable) {
|
|
||||||
const uint32_t addr = PKT_FRAG_REG;
|
|
||||||
LOG(logINFO, ("Setting Number of deserializers per packet: %d for %s\n",
|
|
||||||
val, (tgEnable ? "10g" : "1g")));
|
|
||||||
if (tgEnable) {
|
|
||||||
bus_w(addr, bus_r(addr) & ~PKT_FRAG_10G_N_DSR_PER_PKT_MSK);
|
|
||||||
bus_w(addr, bus_r(addr) | ((val << PKT_FRAG_10G_N_DSR_PER_PKT_OFST) &
|
|
||||||
PKT_FRAG_10G_N_DSR_PER_PKT_MSK));
|
|
||||||
} else {
|
|
||||||
bus_w(addr, bus_r(addr) & ~PKT_FRAG_1G_N_DSR_PER_PKT_MSK);
|
|
||||||
bus_w(addr, bus_r(addr) | ((val << PKT_FRAG_1G_N_DSR_PER_PKT_OFST) &
|
|
||||||
PKT_FRAG_1G_N_DSR_PER_PKT_MSK));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void updateNumberOfPackets() {
|
void updatePacketizing() {
|
||||||
const int ncounters = __builtin_popcount(getCounterMask());
|
const int ncounters = __builtin_popcount(getCounterMask());
|
||||||
const int tgEnable = enableTenGigabitEthernet(-1);
|
const int tgEnable = enableTenGigabitEthernet(-1);
|
||||||
int packetsPerFrame = 0;
|
int packetsPerFrame = 0;
|
||||||
@ -1080,21 +1063,31 @@ void updateNumberOfPackets() {
|
|||||||
}
|
}
|
||||||
packetsPerFrame = calculateDataBytes() / dataSize;
|
packetsPerFrame = calculateDataBytes() / dataSize;
|
||||||
}
|
}
|
||||||
|
const int deserializersPerPacket = MAX_NUM_DESERIALIZERS / packetsPerFrame;
|
||||||
|
|
||||||
// bus_w()
|
// bus_w()
|
||||||
LOG(logINFO, ("Number of Packets/Frame: %d for %s\n", packetsPerFrame,
|
LOG(logINFO,
|
||||||
(tgEnable ? "10g" : "1g")));
|
("[#Packets/Frame: %d, #Deserializers/Packet: %d] for %s\n",
|
||||||
|
packetsPerFrame, deserializersPerPacket, (tgEnable ? "10g" : "1g")));
|
||||||
const uint32_t addr = PKT_FRAG_REG;
|
const uint32_t addr = PKT_FRAG_REG;
|
||||||
if (tgEnable) {
|
if (tgEnable) {
|
||||||
bus_w(addr, bus_r(addr) & ~PKT_FRAG_10G_NUM_PACKETS_MSK);
|
bus_w(addr, bus_r(addr) & ~PKT_FRAG_10G_NUM_PACKETS_MSK);
|
||||||
bus_w(addr, bus_r(addr) |
|
bus_w(addr, bus_r(addr) |
|
||||||
((packetsPerFrame << PKT_FRAG_10G_NUM_PACKETS_OFST) &
|
((packetsPerFrame << PKT_FRAG_10G_NUM_PACKETS_OFST) &
|
||||||
PKT_FRAG_10G_NUM_PACKETS_MSK));
|
PKT_FRAG_10G_NUM_PACKETS_MSK));
|
||||||
|
bus_w(addr, bus_r(addr) & ~PKT_FRAG_10G_N_DSR_PER_PKT_MSK);
|
||||||
|
bus_w(addr, bus_r(addr) | ((deserializersPerPacket
|
||||||
|
<< PKT_FRAG_10G_N_DSR_PER_PKT_OFST) &
|
||||||
|
PKT_FRAG_10G_N_DSR_PER_PKT_MSK));
|
||||||
} else {
|
} else {
|
||||||
bus_w(addr, bus_r(addr) & ~PKT_FRAG_1G_NUM_PACKETS_MSK);
|
bus_w(addr, bus_r(addr) & ~PKT_FRAG_1G_NUM_PACKETS_MSK);
|
||||||
bus_w(addr,
|
bus_w(addr,
|
||||||
bus_r(addr) | ((packetsPerFrame << PKT_FRAG_1G_NUM_PACKETS_OFST) &
|
bus_r(addr) | ((packetsPerFrame << PKT_FRAG_1G_NUM_PACKETS_OFST) &
|
||||||
PKT_FRAG_1G_NUM_PACKETS_MSK));
|
PKT_FRAG_1G_NUM_PACKETS_MSK));
|
||||||
|
bus_w(addr, bus_r(addr) & ~PKT_FRAG_1G_N_DSR_PER_PKT_MSK);
|
||||||
|
bus_w(addr, bus_r(addr) | ((deserializersPerPacket
|
||||||
|
<< PKT_FRAG_1G_N_DSR_PER_PKT_OFST) &
|
||||||
|
PKT_FRAG_1G_N_DSR_PER_PKT_MSK));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1567,7 +1560,7 @@ int enableTenGigabitEthernet(int val) {
|
|||||||
else {
|
else {
|
||||||
bus_w(addr, bus_r(addr) & (~PKT_CONFIG_1G_INTERFACE_MSK));
|
bus_w(addr, bus_r(addr) & (~PKT_CONFIG_1G_INTERFACE_MSK));
|
||||||
}
|
}
|
||||||
updateNumberOfPackets();
|
updatePacketizing();
|
||||||
}
|
}
|
||||||
int oneG = ((bus_r(addr) & PKT_CONFIG_1G_INTERFACE_MSK) >>
|
int oneG = ((bus_r(addr) & PKT_CONFIG_1G_INTERFACE_MSK) >>
|
||||||
PKT_CONFIG_1G_INTERFACE_OFST);
|
PKT_CONFIG_1G_INTERFACE_OFST);
|
||||||
|
@ -250,8 +250,7 @@ int getNumDigitalSamples();
|
|||||||
#ifdef MYTHEN3D
|
#ifdef MYTHEN3D
|
||||||
void setCounterMask(uint32_t arg);
|
void setCounterMask(uint32_t arg);
|
||||||
uint32_t getCounterMask();
|
uint32_t getCounterMask();
|
||||||
void setumberOfDeserializers(int val, int tgEnable);
|
void updatePacketizing();
|
||||||
void updateNumberOfPackets();
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(JUNGFRAUD) || defined(GOTTHARDD) || defined(CHIPTESTBOARDD) || \
|
#if defined(JUNGFRAUD) || defined(GOTTHARDD) || defined(CHIPTESTBOARDD) || \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user