use parse_det_name

This commit is contained in:
NichtJens
2025-10-10 17:15:00 +02:00
parent c1ddf6c43e
commit 5fdab3e2d6
7 changed files with 17 additions and 19 deletions
+2 -2
View File
@@ -7,7 +7,7 @@ from sf_daq_broker import config
from sf_daq_broker.detector.utils import get_configured_detectors, get_streamvis_address
from sf_daq_broker.detector.detector_config import DETECTOR_DESC
from sf_daq_broker.rabbitmq import broker_config
from sf_daq_broker.utils import get_writer_request, get_beamline, json_save, json_load, dueto
from sf_daq_broker.utils import get_writer_request, get_beamline, json_save, json_load, dueto, parse_det_name
from . import validate
@@ -172,7 +172,7 @@ class BrokerManager:
limping_detectors = {}
for detector in allowed_detectors_beamline:
n_modules = int(detector[5:7])
n_modules = parse_det_name(detector).T
running_modules = []
missing_modules = []
+2 -2
View File
@@ -8,7 +8,7 @@ from sf_daq_broker.detector.jfctrl import JFCtrl
from sf_daq_broker.detector.detector import Detector
from sf_daq_broker.detector.trigger import Trigger
from sf_daq_broker.detector.utils import get_configured_detectors
from sf_daq_broker.utils import get_beamline, json_save, json_load, dueto
from sf_daq_broker.utils import get_beamline, json_save, json_load, dueto, parse_det_name
from . import validate
@@ -29,7 +29,7 @@ class DetectorManager:
def get_jfctrl_monitor(self, request, remote_ip):
detector_name = get_validated_detector_name(request, remote_ip)
detector_number = int(detector_name[2:4])
detector_number = parse_det_name(detector_name).N
jfctrl = JFCtrl(detector_number)
parameters = jfctrl.get_monitor()
+3 -6
View File
@@ -1,6 +1,6 @@
from collections import defaultdict
from sf_daq_broker.utils import typename
from sf_daq_broker.utils import typename, parse_det_name
from .detector_config import DETECTOR_NAMES, DetectorConfig
from .detector import Detector
@@ -52,7 +52,7 @@ def parse_name(name):
if name not in DETECTOR_NAMES:
printable_detector_names = mk_printable(DETECTOR_NAMES)
raise ValueError(f"detector name {name} unknown -- choose from: {printable_detector_names}")
ID = name_to_ID(name)
ID = parse_det_name(name).N
return ID, name
def parse_ID(ID):
@@ -70,14 +70,11 @@ def parse_ID(ID):
def mk_mapping():
detector_ID_to_name = defaultdict(list)
for n in DETECTOR_NAMES:
ID = name_to_ID(n)
ID = parse_det_name(n).N
detector_ID_to_name[ID].append(n)
detector_ID_to_name = dict(detector_ID_to_name)
return detector_ID_to_name
def name_to_ID(n):
return int(n[2:4])
def mk_printable(seq):
return ", ".join(repr(i) for i in sorted(seq))
+2 -2
View File
@@ -4,7 +4,7 @@ from .slsdetcompat import Jungfrau, detectorSettings, gainMode, pedestalParamete
from sf_daq_broker.detector.detector_config import DETECTOR_NAMES, DetectorConfig
from sf_daq_broker.errors import DetectorError, ValidationError
from sf_daq_broker.utils import ping_many
from sf_daq_broker.utils import ping_many, parse_det_name
def invert_dict(d):
@@ -35,7 +35,7 @@ class Detector:
def __init__(self, name):
validate_detector_name(name)
self.name = name
self.ID = int(name[2:4])
self.ID = parse_det_name(name).N
self.load_config()
self.connect()
+4 -4
View File
@@ -1,4 +1,4 @@
from sf_daq_broker.utils import json_load
from sf_daq_broker.utils import json_load, parse_det_name
from .detector_consts import BEAMLINE_DELAY, BEAMLINE_VLAN, DAQ_BEAMLINE, DAQ_MAC, DETECTOR_DAQ, DETECTOR_HOSTNAME, DETECTOR_TEMP_THRESHOLD, DETECTOR_TEMP_THRESHOLD_DEFAULT, DETECTOR_TXDELAY_FRAME
@@ -8,7 +8,7 @@ def make_udp_srcip(detectors, start=0):
res = {}
for det in detectors:
res[det] = index
nmods = int(det[5:7])
nmods = parse_det_name(det).T
index += nmods
if index > 256:
raise ValueError(f"index {index} needed for {det} is outside the allowed range (<256)")
@@ -101,10 +101,10 @@ class DetectorConfig():
# return self.name
def get_number(self):
return int(self.name[2:4])
return parse_det_name(self.name).N
def get_number_modules(self):
return int(self.name[5:7])
return parse_det_name(self.name).T
def get_detsize(self):
return [1024, self.get_number_modules()*512]
+2 -1
View File
@@ -1,10 +1,11 @@
from sf_daq_broker.utils import parse_det_name
from .detector_config import DAQ_BEAMLINE, DETECTOR_DAQ
def get_streamvis_address():
address = {}
for d in DETECTOR_DAQ:
detector_number = int(d[2:4])
detector_number = parse_det_name(d).N
daq = DETECTOR_DAQ[d]["daq"]
address[d] = f"sf-daq-{daq}:{5000 + detector_number}"
return address
+2 -2
View File
@@ -12,7 +12,7 @@ import numpy as np
from sf_daq_broker.detector.make_crystfel_list import make_crystfel_list
from sf_daq_broker.detector.store_dap_info import store_dap_info
from sf_daq_broker.writer.convert_file import convert_file
from sf_daq_broker.utils import json_save, json_load
from sf_daq_broker.utils import json_save, json_load, parse_det_name
_logger = logging.getLogger("broker_writer")
@@ -94,7 +94,7 @@ def detector_retrieve(request, output_file_detector):
else:
raw_file_name = output_file_detector
number_modules = int(detector_name[5:7])
number_modules = parse_det_name(detector_name).T
command_retrieve_from_buffer = (
"/home/dbe/bin/sf_writer",