# {py:mod}`ophyd_async.fastcs.odin` ```{py:module} ophyd_async.fastcs.odin ``` ```{autodoc2-docstring} ophyd_async.fastcs.odin :allowtitles: ``` ## Package Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`FrameProcessorVectorIO ` - ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.FrameProcessorVectorIO :summary: ``` * - {py:obj}`FrameProcessorIO ` - ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.FrameProcessorIO :summary: ``` * - {py:obj}`MetaWriterIO ` - ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.MetaWriterIO :summary: ``` * - {py:obj}`OdinIO ` - ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.OdinIO :summary: ``` * - {py:obj}`OdinDataLogic ` - ```{autodoc2-docstring} ophyd_async.fastcs.odin._data_logic.OdinDataLogic :summary: ``` ```` ### API `````{py:class} FrameProcessorVectorIO(children: ~collections.abc.Mapping[int, ~ophyd_async.core._device.DeviceT] | None = None, name: str = '', connector: ~ophyd_async.core._device.DeviceConnector | None = None) :canonical: ophyd_async.fastcs.odin._io.FrameProcessorVectorIO Bases: {py:obj}`ophyd_async.core.DeviceVector`\[{py:obj}`ophyd_async.fastcs.odin._io.FrameProcessorIO`\] ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.FrameProcessorVectorIO ``` ````{py:attribute} start_writing :canonical: ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.start_writing :type: ~ophyd_async.core.TriggerableCommand :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.start_writing ``` ```` ````{py:attribute} stop_writing :canonical: ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.stop_writing :type: ~ophyd_async.core.TriggerableCommand :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.stop_writing ``` ```` ````{py:attribute} writing :canonical: ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.writing :type: ~ophyd_async.core.SignalR[bool] :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.writing ``` ```` ````{py:attribute} frames_written :canonical: ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.frames_written :type: ~ophyd_async.core.SignalR[int] :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.frames_written ``` ```` ````{py:attribute} frames :canonical: ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.frames :type: ~ophyd_async.core.SignalRW[int] :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.frames ``` ```` ````{py:attribute} data_dims_0 :canonical: ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.data_dims_0 :type: ~ophyd_async.core.SignalRW[int] :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.data_dims_0 ``` ```` ````{py:attribute} data_dims_1 :canonical: ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.data_dims_1 :type: ~ophyd_async.core.SignalRW[int] :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.data_dims_1 ``` ```` ````{py:attribute} data_chunks_0 :canonical: ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.data_chunks_0 :type: ~ophyd_async.core.SignalRW[int] :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.data_chunks_0 ``` ```` ````{py:attribute} data_chunks_1 :canonical: ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.data_chunks_1 :type: ~ophyd_async.core.SignalRW[int] :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.data_chunks_1 ``` ```` ````{py:attribute} data_chunks_2 :canonical: ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.data_chunks_2 :type: ~ophyd_async.core.SignalRW[int] :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.data_chunks_2 ``` ```` ````{py:attribute} file_path :canonical: ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.file_path :type: ~ophyd_async.core.SignalRW[str] :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.file_path ``` ```` ````{py:attribute} file_prefix :canonical: ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.file_prefix :type: ~ophyd_async.core.SignalRW[str] :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.file_prefix ``` ```` ````{py:attribute} data_datatype :canonical: ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.data_datatype :type: ~ophyd_async.core.SignalRW[str] :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.data_datatype ``` ```` ````{py:attribute} data_compression :canonical: ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.data_compression :type: ~ophyd_async.core.SignalRW[str] :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.data_compression ``` ```` ````{py:attribute} process_frames_per_block :canonical: ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.process_frames_per_block :type: ~ophyd_async.core.SignalRW[int] :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.FrameProcessorVectorIO.process_frames_per_block ``` ```` ````` ````{py:class} FrameProcessorIO(name: str = '', connector: ~ophyd_async.core._device.DeviceConnector | None = None) :canonical: ophyd_async.fastcs.odin._io.FrameProcessorIO Bases: {py:obj}`ophyd_async.core.Device` ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.FrameProcessorIO ``` ```` `````{py:class} MetaWriterIO(name: str = '', connector: ~ophyd_async.core._device.DeviceConnector | None = None) :canonical: ophyd_async.fastcs.odin._io.MetaWriterIO Bases: {py:obj}`ophyd_async.core.Device` ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.MetaWriterIO ``` ````{py:attribute} stop :canonical: ophyd_async.fastcs.odin._io.MetaWriterIO.stop :type: ~ophyd_async.core.TriggerableCommand :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.MetaWriterIO.stop ``` ```` ````{py:attribute} file_prefix :canonical: ophyd_async.fastcs.odin._io.MetaWriterIO.file_prefix :type: ~ophyd_async.core.SignalRW[str] :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.MetaWriterIO.file_prefix ``` ```` ````{py:attribute} directory :canonical: ophyd_async.fastcs.odin._io.MetaWriterIO.directory :type: ~ophyd_async.core.SignalRW[str] :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.MetaWriterIO.directory ``` ```` ````{py:attribute} acquisition_id :canonical: ophyd_async.fastcs.odin._io.MetaWriterIO.acquisition_id :type: ~ophyd_async.core.SignalRW[str] :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.MetaWriterIO.acquisition_id ``` ```` ````{py:attribute} writing :canonical: ophyd_async.fastcs.odin._io.MetaWriterIO.writing :type: ~ophyd_async.core.SignalR[bool] :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.MetaWriterIO.writing ``` ```` ````` `````{py:class} OdinIO(name: str = '', connector: ~ophyd_async.core._device.DeviceConnector | None = None) :canonical: ophyd_async.fastcs.odin._io.OdinIO Bases: {py:obj}`ophyd_async.core.Device` ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.OdinIO ``` ````{py:attribute} fp :canonical: ophyd_async.fastcs.odin._io.OdinIO.fp :type: ~ophyd_async.fastcs.odin._io.FrameProcessorVectorIO :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.OdinIO.fp ``` ```` ````{py:attribute} mw :canonical: ophyd_async.fastcs.odin._io.OdinIO.mw :type: ~ophyd_async.fastcs.odin._io.MetaWriterIO :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.OdinIO.mw ``` ```` ````{py:attribute} writing :canonical: ophyd_async.fastcs.odin._io.OdinIO.writing :type: ~ophyd_async.core.SignalR[bool] :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.OdinIO.writing ``` ```` ````{py:attribute} file_path :canonical: ophyd_async.fastcs.odin._io.OdinIO.file_path :type: ~ophyd_async.core.SignalRW[str] :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.OdinIO.file_path ``` ```` ````{py:attribute} file_prefix :canonical: ophyd_async.fastcs.odin._io.OdinIO.file_prefix :type: ~ophyd_async.core.SignalRW[str] :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.OdinIO.file_prefix ``` ```` ````{py:attribute} acquisition_id :canonical: ophyd_async.fastcs.odin._io.OdinIO.acquisition_id :type: ~ophyd_async.core.SignalRW[str] :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.OdinIO.acquisition_id ``` ```` ````{py:attribute} block_size :canonical: ophyd_async.fastcs.odin._io.OdinIO.block_size :type: ~ophyd_async.core.SignalRW[int] :value: > None ```{autodoc2-docstring} ophyd_async.fastcs.odin._io.OdinIO.block_size ``` ```` ````` `````{py:class} OdinDataLogic(path_provider: ~ophyd_async.core.PathProvider, odin: ~ophyd_async.fastcs.odin._io.OdinIO, detector_bit_depth: ~ophyd_async.core.SignalR[int]) :canonical: ophyd_async.fastcs.odin._data_logic.OdinDataLogic Bases: {py:obj}`ophyd_async.core.DetectorDataLogic` ```{autodoc2-docstring} ophyd_async.fastcs.odin._data_logic.OdinDataLogic ``` ````{py:method} prepare_unbounded(datakey_name: str) -> ~ophyd_async.core.StreamableDataProvider :canonical: ophyd_async.fastcs.odin._data_logic.OdinDataLogic.prepare_unbounded :async: ```{autodoc2-docstring} ophyd_async.fastcs.odin._data_logic.OdinDataLogic.prepare_unbounded ``` ```` ````{py:method} stop() -> None :canonical: ophyd_async.fastcs.odin._data_logic.OdinDataLogic.stop :async: ```{autodoc2-docstring} ophyd_async.fastcs.odin._data_logic.OdinDataLogic.stop ``` ```` ````{py:method} get_hinted_fields(datakey_name: str) -> ~collections.abc.Sequence[str] :canonical: ophyd_async.fastcs.odin._data_logic.OdinDataLogic.get_hinted_fields ```{autodoc2-docstring} ophyd_async.fastcs.odin._data_logic.OdinDataLogic.get_hinted_fields ``` ```` `````