DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
ctbmodules.update_ctb_settings Namespace Reference

Functions

None update_ctb_settings (Path db_file, Path jsonfile, str|None session_name)
 
list[str] set_subsystems (conffwk.Configuration db, dict systems)
 
list[str] set_beam (conffwk.Configuration db, dict beam)
 
list[str] set_beam_llts (conffwk.Configuration db, dict triggers)
 
list[str] set_crt (conffwk.Configuration db, dict crt)
 
list[str] set_crt_llts (conffwk.Configuration db, dict triggers)
 
None set_pds (conffwk.Configuration db, dict pds)
 
None set_pds_llts (conffwk.Configuration db, dict triggers)
 
list[str] set_hlts (conffwk.Configuration db, dict hlts)
 
None set_hlt (conffwk.Configuration db, dict hlt)
 
list[str] set_misc (conffwk.Configuration db, dict misc)
 
list[str] set_random_trigger (conffwk.Configuration db, str trigger_id, dict trigger)
 
None set_sockets (conffwk.Configuration db, dict sockets)
 

Function Documentation

◆ set_beam()

list[str] ctbmodules.update_ctb_settings.set_beam ( conffwk.Configuration db,
dict beam )

Definition at line 49 of file update_ctb_settings.py.

49def set_beam(db:conffwk.Configuration, beam:dict) -> list[str] :
50
51 board = db.get_dals("CTBoardConf")[0]
52 oks = board.beam
53 oks.channel_mask = beam["channel_mask"]
54 oks.reshape_lengths = beam["reshape_lengths"]
55 oks.delays = beam["delays"]
56 db.update_dal(oks)
57
58 return set_beam_llts(db, beam["triggers"])
59
60

◆ set_beam_llts()

list[str] ctbmodules.update_ctb_settings.set_beam_llts ( conffwk.Configuration db,
dict triggers )

Definition at line 61 of file update_ctb_settings.py.

61def set_beam_llts(db:conffwk.Configuration, triggers:dict) -> list[str] :
62
63 enable = []
64 for t in triggers :
65 oks = db.get_dal("CTBLLT", t["id"])
66 oks.mask = t["mask"]
67 oks.description = t["description"]
68 db.update_dal(oks)
69 if t["enable"] :
70 enable.append(t["id"])
71 return enable
72
73

◆ set_crt()

list[str] ctbmodules.update_ctb_settings.set_crt ( conffwk.Configuration db,
dict crt )

Definition at line 74 of file update_ctb_settings.py.

74def set_crt(db:conffwk.Configuration, crt:dict) -> list[str] :
75
76 oks = db.get_dals("CTBCRTSubsystem")[0]
77 oks.pixelate = crt["pixelate"]
78 oks.channel_mask = crt["channel_mask"]
79 oks.reshape_lengths = crt["reshape_lengths"]
80 oks.delays = crt["delays"]
81 db.update_dal(oks)
82
83 return set_crt_llts(db, crt["triggers"])
84

◆ set_crt_llts()

list[str] ctbmodules.update_ctb_settings.set_crt_llts ( conffwk.Configuration db,
dict triggers )

Definition at line 85 of file update_ctb_settings.py.

85def set_crt_llts(db:conffwk.Configuration, triggers:dict) -> list[str] :
86
87 enable = []
88 for t in triggers :
89 oks = db.get_dal("CTBCountLLT", t["id"])
90 oks.count = t["count"]
91 oks.type = t["type"]
92 oks.mask = t["mask"]
93 oks.description = t["description"]
94 db.update_dal(oks)
95 if t["enable"] :
96 enable.append(t["id"])
97 return enable
98
99

◆ set_hlt()

None ctbmodules.update_ctb_settings.set_hlt ( conffwk.Configuration db,
dict hlt )

Definition at line 132 of file update_ctb_settings.py.

132def set_hlt(db:conffwk.Configuration, hlt:dict) -> None :
133 oks = db.get_dal("CTBHLT", hlt["id"])
134 oks.minc = hlt["minc"]
135 oks.mexc = hlt["mexc"]
136 oks.prescale = hlt["prescale"]
137 oks.description = hlt["description"]
138 db.update_dal(oks)
139

◆ set_hlts()

list[str] ctbmodules.update_ctb_settings.set_hlts ( conffwk.Configuration db,
dict hlts )

Definition at line 122 of file update_ctb_settings.py.

122def set_hlts(db:conffwk.Configuration, hlts:dict) -> list[str] :
123
124 enable = []
125 for d in hlts :
126 set_hlt(db, d)
127 if d["enable"] :
128 enable.append(d["id"])
129
130 return enable
131

◆ set_misc()

list[str] ctbmodules.update_ctb_settings.set_misc ( conffwk.Configuration db,
dict misc )

Definition at line 140 of file update_ctb_settings.py.

140def set_misc(db:conffwk.Configuration, misc:dict) -> list[str] :
141
142 oks_misc = db.get_dals("CTBMisc")[0]
143 oks_misc.ch_status = misc["ch_status"]
144 db.update_dal(oks_misc)
145
146 pulser = misc["pulser"]
147 oks_pulser = oks_misc.pulser
148 oks_pulser.enable = pulser["enable"]
149 oks_pulser.frequency = pulser["frequency"]
150 db.update_dal(oks_pulser)
151
152 timing = misc["timing"]
153 oks_timing = oks_misc.timing
154 oks_timing.address = timing["address"]
155 oks_timing.triggers = timing["triggers"]
156 oks_timing.lockout = timing["lockout"]
157
158 db.update_dal(oks_timing)
159
160 to_be_enabled = []
161 to_be_enabled += set_random_trigger(db, "HLT_0", misc["randomtrigger_1"])
162 to_be_enabled += set_random_trigger(db, "LLT_0", misc["randomtrigger_2"])
163
164 return to_be_enabled
165

◆ set_pds()

None ctbmodules.update_ctb_settings.set_pds ( conffwk.Configuration db,
dict pds )

Definition at line 100 of file update_ctb_settings.py.

100def set_pds(db:conffwk.Configuration, pds:dict) -> None :
101 oks = db.get_dals("CTBPDSSubsystem")[0]
102 oks.dac_thresholds = pds["dac_thresholds"]
103 oks.channel_mask = pds["channel_mask"]
104 oks.reshape_lengths = pds["reshape_lengths"]
105 oks.delays = pds["delays"]
106 db.update_dal(oks)
107
108 set_pds_llts(db, pds["triggers"])
109
110

◆ set_pds_llts()

None ctbmodules.update_ctb_settings.set_pds_llts ( conffwk.Configuration db,
dict triggers )

Definition at line 111 of file update_ctb_settings.py.

111def set_pds_llts(db:conffwk.Configuration, triggers:dict) -> None :
112 for t in triggers :
113 oks = db.get_dal("CTBPDSLLT", t["id"])
114 oks.id = t["id"]
115 oks.description = t["description"]
116 oks.enable = t["enable"]
117 oks.mask= t["mask"]
118 oks.type = t["mask"]
119 oks.count = t["count"]
120 db.update_dal(oks)
121

◆ set_random_trigger()

list[str] ctbmodules.update_ctb_settings.set_random_trigger ( conffwk.Configuration db,
str trigger_id,
dict trigger )

Definition at line 166 of file update_ctb_settings.py.

166def set_random_trigger(db:conffwk.Configuration, trigger_id:str, trigger:dict) -> list[str] :
167 oks_trigger=db.get_dal("CTBRandomTrigger", trigger_id)
168 oks_trigger.fixed_freq=trigger["fixed_freq"]
169 oks_trigger.beam_mode=trigger["beam_mode"]
170 oks_trigger.period=trigger["period"]
171 oks_trigger.description=trigger["description"]
172 db.update_dal(oks_trigger)
173
174 if trigger["enable"] :
175 return [trigger_id]
176 return []
177
178

◆ set_sockets()

None ctbmodules.update_ctb_settings.set_sockets ( conffwk.Configuration db,
dict sockets )

Definition at line 179 of file update_ctb_settings.py.

179def set_sockets(db:conffwk.Configuration, sockets:dict) -> None :
180
181 oks_sockets = db.get_dals("CTBSockets")[0]
182
183 oks_receiver = oks_sockets.receiver
184 receiver = sockets["receiver"]
185 oks_receiver.rollover = receiver["rollover"]
186 oks_receiver.port = receiver["port"]
187 db.update_dal(oks_receiver)
188
189 oks_monitor = oks_sockets.monitor
190 monitor = sockets["monitor"]
191 oks_monitor.enable = monitor["enable"]
192 oks_monitor.port = monitor["port"]
193 db.update_dal(oks_monitor)
194
195 oks_statistics = oks_sockets.statistics
196 stat = sockets["statistics"]
197 oks_statistics.enable= stat["enable"]
198 oks_statistics.port = stat["port"]
199 oks_statistics.updt_period = stat["updt_period"]
200 db.update_dal(oks_statistics)
201
202
203
204

◆ set_subsystems()

list[str] ctbmodules.update_ctb_settings.set_subsystems ( conffwk.Configuration db,
dict systems )

Definition at line 40 of file update_ctb_settings.py.

40def set_subsystems(db:conffwk.Configuration, systems:dict) -> list[str] :
41
42 set_pds(db, systems["pds"])
43
44 enable = []
45 enable += set_crt(db, systems["crt"])
46 enable += set_beam(db, systems["beam"])
47 return enable
48

◆ update_ctb_settings()

None ctbmodules.update_ctb_settings.update_ctb_settings ( Path db_file,
Path jsonfile,
str|None session_name )

Definition at line 7 of file update_ctb_settings.py.

7def update_ctb_settings(db_file:Path, jsonfile:Path, session_name:str|None) -> None :
8 print (f"Setting {db_file} to {jsonfile}")
9
10 json_data = json.load(open(jsonfile))
11 ctb = json_data["ctb"]
12
13 db = conffwk.Configuration('oksconflibs:' + db_file)
14 set_sockets(db, ctb["sockets"])
15
16
17 to_be_enabled = set_misc( db, ctb["misc"])
18 to_be_enabled += set_hlts( db, ctb["HLT"]["trigger"])
19 to_be_enabled += set_subsystems( db, ctb["subsystems"])
20
21 db.commit()
22
23 triggers = db.get_dals("CTBTrigger")
24 all_triggers = [t.id for t in triggers]
25 to_be_disabled = []
26 for t in all_triggers :
27 if t not in to_be_enabled :
28 to_be_disabled.append(t)
29
30 print("Enabling:",to_be_enabled)
31 print("Disabling:",to_be_disabled)
32
33 if not session_name :
34 session_name = db.get_dals("Session")[0].id
35
36 enable.enable(db_file, False, to_be_enabled, session_name)
37 enable.enable(db_file, True, to_be_disabled, session_name)
38
39
enable(oksfile, disable, resource, session_name)
Definition enable.py:8