Versions Compared

Key

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

...

  • Dan thinks we won't reach 200Hz (timestamp fetching doesn't work, channel-access area detector won't be fast enough)
  • If batching is disabled (called "linescan" mode in IOC) only get ~20Hz but each image is timestamped, so more reliable
  • If batching is enabled get much higher rates, but only the first event is reliably timestamped and a "frame complete" time which is the end of the frame.  but we roughly know what the readout time, so get some measure of the last image time.
    • would be nice if manufacturer would timestamp every frame
  • Major concern: about once per day the camera can lose timestamp synch, either in batched or unbatched mode
    • Mike B. thinks this might be because we're missing a timestamp from the TPR timestamp FIFO with the "event2" module
    • This could be an effect of the fake evg (done in software).  Might be OK for real timing system.  We'll see when we hook it up in the hutch.
  • Dan is going to write a "resynch" script because the timestamp synching is somewhat complex because linescan mode must be disabled
  • A good thing: unlike the andor this camera can have a "fast clear" generated by the trigger signal which Dan put in the .acf file.  Can also have a continuous-clear, but could be partway shifting the charge out when a trigger comes in.
  • source code for libarchon.so lives in lcls1 daq but can be compiled standalone and gets included in the IOC.  Also a ton of code in the IOC.  Three .acf files (code for microcontroller) for the various generations of controllers.

Common Mode Algorithm

From Phil Hart.

Code Block
    if ped is not None:
        if True:
            for r in range(rows):
                colOffset = 0
                for b in range(1, banks+1):
                    try:
                        frame[r, colOffset:colOffset+bankN] -= frame[r, colOffset+bankN-36:colOffset +bankN].mean()
                    except:
                        rowCM = -666
                        print("rowCM problem")
                    colOffset += bankN