mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-24 15:20:02 +02:00
binaries in
This commit is contained in:
parent
8aa7ced83e
commit
961ecba34e
Binary file not shown.
@ -1725,82 +1725,7 @@ int powerChip(int on) {
|
||||
bus_w(CHIP_POWER_REG,
|
||||
bus_r(CHIP_POWER_REG) | CHIP_POWER_ENABLE_MSK);
|
||||
|
||||
configureChip();
|
||||
|
||||
if (getChipVersion() == 11) {
|
||||
enum timingMode prevTiming = getTiming();
|
||||
|
||||
// to change dstip of entry 0 to 0 (to not send out anything)
|
||||
int numInterfaces = getNumberofUDPInterfaces();
|
||||
int selInterface = getPrimaryInterface();
|
||||
// corner case: round robin, might not start at entry 0
|
||||
uint32_t addr_outer = RXR_ENDPOINT_OUTER_START_REG;
|
||||
udp_header *udp_outer = (udp_header *)(Blackfin_getBaseAddress() + addr_outer / 2);
|
||||
uint32_t addr_inner = RXR_ENDPOINT_INNER_START_REG;
|
||||
udp_header *udp_inner = (udp_header *)(Blackfin_getBaseAddress() + addr_inner / 2);
|
||||
|
||||
LOG(logINFO, ("\tSetting timing to auto (temp solution)\n"));
|
||||
setTiming(AUTO_TIMING);
|
||||
|
||||
// setting dstip of entry 0 to 0
|
||||
if (numInterfaces == 2) {
|
||||
LOG(logINFO, ("\tSetting dest ip (outer) to 0.0.0.0 (temp solution)\n"));
|
||||
udp_outer->ip_destip_msb = (uint16_t)0;
|
||||
udp_outer->ip_destip_lsb = (uint16_t)0;
|
||||
LOG(logINFO, ("\tSetting dest ip (inner) to 0.0.0.0 (temp solution)\n"));
|
||||
udp_inner->ip_destip_msb = (uint16_t)0;
|
||||
udp_inner->ip_destip_lsb = (uint16_t)0;
|
||||
} else{
|
||||
if (selInterface == 0) {
|
||||
LOG(logINFO, ("\tSetting dest ip (outer) to 0.0.0.0 (temp solution)\n"));
|
||||
udp_outer->ip_destip_msb = (uint16_t)0;
|
||||
udp_outer->ip_destip_lsb = (uint16_t)0;
|
||||
} else {
|
||||
LOG(logINFO, ("\tSetting dest ip (inner) to 0.0.0.0 (temp solution)\n"));
|
||||
udp_inner->ip_destip_msb = (uint16_t)0;
|
||||
udp_inner->ip_destip_lsb = (uint16_t)0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
LOG(logINFO, ("\tStarting acq (temp solution)\n"));
|
||||
cleanFifos();
|
||||
bus_w(CONTROL_REG, bus_r(CONTROL_REG) | CONTROL_START_ACQ_MSK);
|
||||
bus_w(CONTROL_REG, bus_r(CONTROL_REG) & ~CONTROL_START_ACQ_MSK);
|
||||
|
||||
LOG(logINFO, ("\tStopping acq (temp solution)\n"));
|
||||
bus_w(CONTROL_REG, bus_r(CONTROL_REG) | CONTROL_STOP_ACQ_MSK);
|
||||
usleep(100);
|
||||
bus_w(CONTROL_REG, bus_r(CONTROL_REG) & ~CONTROL_STOP_ACQ_MSK);
|
||||
|
||||
LOG(logINFO, ("\tSetting timing back to %s (temp solution)\n", (prevTiming == AUTO_TIMING? "auto" : "trigger")));
|
||||
setTiming(prevTiming);
|
||||
|
||||
// setting ip back
|
||||
uint32_t ip = udpDetails[0].dstip;
|
||||
uint32_t ip2 = udpDetails[0].dstip;
|
||||
char dst_ip[INET_ADDRSTRLEN], dst_ip2[INET_ADDRSTRLEN];
|
||||
getIpAddressinString(dst_ip, ip);
|
||||
getIpAddressinString(dst_ip2, ip2);
|
||||
if (numInterfaces == 2) {
|
||||
LOG(logINFO, ("\tSetting dest ip (outer) to %s (temp solution)\n", dst_ip));
|
||||
udp_outer->ip_destip_msb = (uint16_t)((ip >> 16) & BIT16_MASK);
|
||||
udp_outer->ip_destip_lsb = (uint16_t)((ip >> 0) & BIT16_MASK);
|
||||
LOG(logINFO, ("\tSetting dest ip (inner) to %s (temp solution)\n", dst_ip2));
|
||||
udp_inner->ip_destip_msb = (uint16_t)((ip2 >> 16) & BIT16_MASK);
|
||||
udp_inner->ip_destip_lsb = (uint16_t)((ip2 >> 0) & BIT16_MASK);
|
||||
} else{
|
||||
if (selInterface == 0) {
|
||||
LOG(logINFO, ("\tSetting dest ip (outer) to %s (temp solution)\n", dst_ip));
|
||||
udp_outer->ip_destip_msb = (uint16_t)((ip >> 16) & BIT16_MASK);
|
||||
udp_outer->ip_destip_lsb = (uint16_t)((ip >> 0) & BIT16_MASK);
|
||||
} else {
|
||||
LOG(logINFO, ("\tSetting dest ip (inner) to %s (temp solution)\n", dst_ip));
|
||||
udp_inner->ip_destip_msb = (uint16_t)((ip >> 16) & BIT16_MASK);
|
||||
udp_inner->ip_destip_lsb = (uint16_t)((ip >> 0) & BIT16_MASK);
|
||||
}
|
||||
}
|
||||
}
|
||||
configureChip();
|
||||
} else {
|
||||
LOG(logINFOBLUE, ("Powering chip: off\n"));
|
||||
bus_w(CHIP_POWER_REG,
|
||||
|
Loading…
x
Reference in New Issue
Block a user