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?

...