Open lelroy1 opened 6 months ago
You'd have to get Kasli gateware with non-standard number of ROI engines. I'm not sure if 200 wouldn't be problematic though in terms of fpga resources and timing.
You'd have to get Kasli gateware with non-standard number of ROI engines. I'm not sure if 200 wouldn't be problematic though in terms of fpga resources and timing.
Is this really the only adjustment needed?
I tried increasing roi_engine_count
to 32 (in release-6
, 9a3f6f85a48b81cbaebb315f00aa82782617df0c
). It compiles and works as before for the first 16 ROI engines, but if I define more and try to read out their data, the following call to rtio_input_data
does not return on the 17th iteration:
I'm afraid I didn't have the time to dig any deeper yet, but if there is some obvious place for me to look, I'd appreciate a hint.
One-Line Summary
Is there anyway to get more than 16 ROIs from the grabber per EMCCD camera frame?
Issue Details
We have a system that requires us to average around 200 ROIs per camera frame with real time calculation. In order to do this we hoped to be able to use the grabber's functions that are shipped with the hardware. We have hit a wall because it seems that when we use more than 16 ROIs it gives a artiq.coredevice.grabber.OutOfSyncException. Anyone have any advice on how to proceed?
from artiq.experiment import * import numpy as np
class RTIOAnalyzerGrabber(EnvExperiment): def build(self): self.setattr_device("core") self.setattr_device("grabber0")