Live planning notes
Goal: Update DAQ to HDF5
- What has already been done?
- 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
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