Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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)
  • 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
  • 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?
  • Find a reliable fix to shot counting issue
    • checkShots is not counting the correct number of shots at some steps. we think the DAQ is just not waiting long enough for the shot number to go up, because the shots do get saved eventually
    • for E332 shift on 5/30, we just added a while/pause loop to force DAQ to wait for shot numbers to go up
    • if we decide to keep this functionality we should at least add a break for the while loop but for now it is working again

DAQ tests E320 shift 4/30/24

...