Live planning notes
Goal: Update DAQ to HDF5
- What has already been done?
- We have a working version of the HDF5 DAQ, and now we are working on making it robust
- Sharon has shown that HDF5 file writing in "Streaming" mode is very fast.
- Now we want to extend capability for scans so that we have 1 file per camera.
- How to save scan image data into HDF5 file?
- Use PVs:
- extraDimSizeN = Number of shots per step
- nExtraDims = Number of scan dimensions (0 = simple DAQ, 1 = 1D scan, 2 = 2D scan . . .)
- extraDimSizeX = Number of steps for Dim 1
- extraDimSizeY = Number of steps for Dim 2
- extraDimSize3 = Number of steps for Dim 3
- . . .
- These PVs implicitly control the NumCapture PV
- NumCapture_RBV = extraDimSizeN * extraDimSizeX * extraDimSizeY * . . . (depending on number of nExtraDims)
- Use PVs:
- In this scheme, we have to carefully control the triggers so that each scan step gets exactly the right number
- We will use a new feature to do this:
- EVNT:SYS1:1:PMAQCTRL.H = extraDimSizeN = Number of shots per step
- EVNT:SYS1:1:PMAQCTRL.E = 0/1 to stop/start triggers to cameras
- Need to toggle back to 0 after every step
- Set EVNT:SYS1:1:PMAQCTRL.H back to zero at end of scan
- We will use a new feature to do this:
- What happens if the camera does not receive all triggers?
- Then scan steps are kind of messed up . . . think about how best to handle this with pulse ID
- Prefer "NDArrayUniqueId" to be "NDArrayPulseId"
- Make caput/lcaPut/lcaPutSmart consistent
- "BSA buffer" for UV spectrometer IOC?
DAQ tests E320 shift 4/30/24
Testing TIFF/HDF5 switch
- take a DAQ with TIFF and try to load it in DAN
- results look normal
Testing HDF5 DAQ
- take a DAQ with HDF5, simple DAQ, 20 shots, 1 camera (LBG_LFOV)
- all 20 shots saved
- test with 1000 shots
- saved 999 shots
- took a little over 2 minutes
- add more cameras (LBG_LFOV, EOS2, GAMMA1)
- saved 993 shots for each camera
- ~2 min 10 seconds in total
- try streaming
- 1000 shots
- failed TEST 7480
- try streaming but with 10 shots
- success with all matches
- try streaming with 200 shots
- success with 197 matches
- try streaming with 700 shots
- says DAQ failed on step 1 but 641 matches
- try streaming with TIFF, 700 shots
- saved 155 matches
- took a little more than 3 minutes
- try a 1D scan, 10 shots, 3 steps
- did not restore to initial value
- Spec_Quad_E
- 28 matches
- trying a 2D scan, 10 x 2 x 2
- saved 40 shots
- trying 2D scan with streaming
- saved 40 shots
- try to open HDF5 images in DAN
- error when "Plot Correlation" button pushed, expecting a TIFF image
- Error in hlpGetImage with “imgType”
Bugs and Robustness
Issue | Person | Priority | Status |
---|---|---|---|
Background not being saved | Sharon | High | DONE |
Not saving non BSA data and getting F2_EventClass error | Sharon | High | |
Implement HDF5 file saving for images | Sharon | High | Testing |
N/A | |||
Calculate how much space on disk is required | High | ||
Install 10G switch and NAS in S10 | Arjun | High | Planning |
Check what happens if new DAQ is started before old one is finished (failed abort) | High | ||
Fix binning and ROI for CMOS cameras | Medium | ||
Can't get magnet values on first DAQ? | Medium | ||
Check that the beam rate is not equal zero if rate set to "BEAM" | Spencer | Medium | |
Fix "Use_PV" functionality. | Sharon | Medium | DONE |
Fix camera triggers if DAQ fails. | Sharon | High | DONE |
"Fix cameras" button disabled if DAQ hasnt run yet | Sharon | Medium | DONE |
"Fix cameras" button should use default values? - yes | Sharon | Medium | DONE |
Timestamping fails on certain ROI settings? | Spencer | High | DONE |
Upgrade all machines in S20 to 10G connection | Spencer | Medium | DONE |
Camera binning messes up pulse ID finding | Spencer | Medium | DONE |
Feature requests
Issue | Person | Priority | Status |
---|---|---|---|
Add check/remove bad PVs and notify user in an obvious way | Sharon | ||
Add nonBSA arrays so we can get UV spectrometer (Claudio request) | Sharon | High | WIP |
DAQ Monitor GUI | Sharon | High | DONE |
Find a way to globally trigger a modifier bit (e.g. "DUMP_2_9"). | David | ||
Scan function that pauses until you click 'ok' | |||
Generate "camera config" file including trigger info and add a save/restore button. Monitor if this finished ok or not. | Sharon | ||
Load/Save Config files. Default config files. | Claire | ||
Robustness issues. . . | Spencer | High | In progress |
DAN features | Sharon | ||
Documentation/commenting | Spencer | High | In progress |
Fix "Use_PV" functionality. | Sharon | Medium | DONE |
Documentation
For now, the main references on the DAQ are these attached PDFs from IBIC 2021.
GUI Interface
Main screen → Profile Monitor → LI20 → FACET DAQ (green button)
Wait for a bit after pressing the FACET DAQ button.
DAQ Camera Status GUI
Main screen → Profile Monitor → LI20 → DAQ Camera Status
Indicator lamps light up when a camera is being used by the DAQ, and the "Shots Recorded" field updates as the DAQ runs