You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This test aims to find issues with the work we have done towards the September 2026 Milestone so far.
We should do a full stack test of our software so far.
This should be conducted on the new streaming server or NDW1836 if unavailable along with the streaming control board and detector modules set up on EMMA (or another test instrument)
We should test: kdaectrl begins a run -> streaming hardware streams udp as expected -> event_udp_to_kafka forms ev44/pu00 correctly -> kafka_event_aggregator matches these up -> kdaediag reads them correctly.
Top-level workflow to test:
A python command writes to a begin PV (and also a GUI if available). This does not have to be genie_python for this test - could manually use p4p.
kdaectrl begins a run
streaming hardware streams udp as expected
event_udp_to_kafka forms ev44/pu00 correctly
kafka_event_aggregator matches these up and forwards to main _events stream
kdaediag reads them correctly and forms correct diagnostics e.g. spectra
Other things to test:
Pause/resume
Runcontrol
Hard/soft vetoes
Multi-period run
Timing modes
Wiring and spectra mapping are correct
note that this does not need to follow any sort of deployment approach - if containers work for certain processes ie. redpanda and things that aren't IOCs that's great, but if we have to run things manually that's not the end of the world. Infrastructure/deployment work will decide on this stuff for production, this is just a test.
This will require input from DSG.
People to invite to see the test once it's working: HRPD scientists, SANDALS scientists (?), report outcome of test to MN/MG?
The stack seems to work at event rates close around 5-10gbps on the DS server (with simulated - i.e. saluki - data). This is well beyond what HRPDX will need, and still 5-10x what we're expecting on SANDALS2.
Starting and stopping runs and basic DAE control functionality works (as far as getting a RUNNING readback from the control board)
Areas we need to improve
PVA from GUI is very unreliable if a PVA PV is ever disconnected
Especially easy to make it happen as kdaediag only serves spectra PVs for spectra that exist
Various bits of the GUI don't look great - probably was hard to get working readbacks without hardware or emulator yet
Some readbacks formatted as float when they should be int e.g. period/max period
Some readbacks visually cut off e.g. period type on experiment setup screen
H/W status should be an enum not just an int
Some information pointing at wrong PVs e.g. instrument on run information screen points at ...:GOODFRAMES
Need better feedback about why it's failing if you press begin and kdaediag goes into "processing" (no frames arrived). If you know the diagnostics to look for it makes sense, but needs to be more user friendly.
Pause/resume not setting the pause/resume veto bits correctly
Run numbers not formatted to 8 digits in streamed run name or in GUI
GUI needs controls to enable/disable vetoes
"UKNOWN" shouldn't appear as a setpoint option for DAE timing source or period type
In computer control mode GUI should have an option to change the current period manually
Every frame seems to have an unconditional TS2 pulse veto
Activity
Tom-Willemsen commentedon Oct 1, 2026
After problems on EMMA at startup, should be doable on ALF soon(tm)
Tom-Willemsen commentedon Oct 12, 2026
Packages needing to be installed if locally compiling on ds machine:
dnf install perl-FindBindnf install perl-IPC-Cmddnf install perl-File-Comparednf install perl-File-Copydnf install perl-Time-Piecednf install cmakednf install g++rerpha commentedon Oct 12, 2026
Tom-Willemsen commentedon Oct 12, 2026
Positive points
Areas we need to improve
kdaectrlis streaming run-starts withn_periods=1even when more than one period is configured (Set number of periods when sending run start kafka_dae_control#80)det_spec_mapnot populated,kdaediagonly knows about one spectrum, generally we just haven't done the work in this area - Detector spectrum mapping: decide on mechanism and file formats #124period typeonexperiment setupscreeninstrumentonrun informationscreen points at...:GOODFRAMESkdaediaggoes into "processing" (no frames arrived). If you know the diagnostics to look for it makes sense, but needs to be more user friendly.