# {py:mod}`ophyd_async.tango.demo` ```{py:module} ophyd_async.tango.demo ``` ```{autodoc2-docstring} ophyd_async.tango.demo :allowtitles: ``` ## Package Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`DemoMotor ` - ```{autodoc2-docstring} ophyd_async.tango.demo._motor.DemoMotor :summary: ``` * - {py:obj}`DemoStage ` - ```{autodoc2-docstring} ophyd_async.tango.demo._stage.DemoStage :summary: ``` * - {py:obj}`EnergyMode ` - ```{autodoc2-docstring} ophyd_async.tango.demo._point_detector_channel.EnergyMode :summary: ``` * - {py:obj}`DemoPointDetectorChannel ` - ```{autodoc2-docstring} ophyd_async.tango.demo._point_detector_channel.DemoPointDetectorChannel :summary: ``` * - {py:obj}`DemoPointDetector ` - ```{autodoc2-docstring} ophyd_async.tango.demo._point_detector.DemoPointDetector :summary: ``` ```` ### API `````{py:class} DemoMotor(trl: str = '', support_events: bool = False, name: str = '', auto_fill_signals: bool = True) :canonical: ophyd_async.tango.demo._motor.DemoMotor Bases: {py:obj}`ophyd_async.tango.core.TangoDevice`, {py:obj}`ophyd_async.core.StandardReadable`, {py:obj}`ophyd_async.core.StandardMovable`\[{py:obj}`float`\] ```{autodoc2-docstring} ophyd_async.tango.demo._motor.DemoMotor ``` ````{py:attribute} readback :canonical: ophyd_async.tango.demo._motor.DemoMotor.readback :type: ~typing.Annotated[~ophyd_async.core.SignalR[float], TangoPolling(0.1, 0.001, 0.001), ~ophyd_async.core.StandardReadableFormat.HINTED_SIGNAL] :value: > None ```{autodoc2-docstring} ophyd_async.tango.demo._motor.DemoMotor.readback ``` ```` ````{py:attribute} velocity :canonical: ophyd_async.tango.demo._motor.DemoMotor.velocity :type: ~typing.Annotated[~ophyd_async.core.SignalRW[float], TangoPolling(0.1, 0.001, 0.001), ~ophyd_async.core.StandardReadableFormat.CONFIG_SIGNAL] :value: > None ```{autodoc2-docstring} ophyd_async.tango.demo._motor.DemoMotor.velocity ``` ```` ````{py:attribute} setpoint :canonical: ophyd_async.tango.demo._motor.DemoMotor.setpoint :type: ~typing.Annotated[~ophyd_async.core.SignalRW[float], TangoPolling(0.1, 0.001, 0.001)] :value: > None ```{autodoc2-docstring} ophyd_async.tango.demo._motor.DemoMotor.setpoint ``` ```` ````{py:attribute} state :canonical: ophyd_async.tango.demo._motor.DemoMotor.state :type: ~typing.Annotated[~ophyd_async.core.SignalR[~ophyd_async.tango.core.DevStateEnum], TangoPolling(0.1)] :value: > None ```{autodoc2-docstring} ophyd_async.tango.demo._motor.DemoMotor.state ``` ```` ````{py:attribute} stop_ :canonical: ophyd_async.tango.demo._motor.DemoMotor.stop_ :type: ~ophyd_async.core.TriggerableCommand :value: > None ```{autodoc2-docstring} ophyd_async.tango.demo._motor.DemoMotor.stop_ ``` ```` ````{py:method} movable_logic() -> ~ophyd_async.core.MovableLogic :canonical: ophyd_async.tango.demo._motor.DemoMotor.movable_logic ```{autodoc2-docstring} ophyd_async.tango.demo._motor.DemoMotor.movable_logic ``` ```` ````` ````{py:class} DemoStage(x_trl: str, y_trl: str, name='') :canonical: ophyd_async.tango.demo._stage.DemoStage Bases: {py:obj}`ophyd_async.core.StandardReadable` ```{autodoc2-docstring} ophyd_async.tango.demo._stage.DemoStage ``` ```` `````{py:class} EnergyMode() :canonical: ophyd_async.tango.demo._point_detector_channel.EnergyMode Bases: {py:obj}`ophyd_async.core.StrictEnum` ```{autodoc2-docstring} ophyd_async.tango.demo._point_detector_channel.EnergyMode ``` ````{py:attribute} LOW :canonical: ophyd_async.tango.demo._point_detector_channel.EnergyMode.LOW :value: > 'Low Energy' ```{autodoc2-docstring} ophyd_async.tango.demo._point_detector_channel.EnergyMode.LOW ``` ```` ````{py:attribute} HIGH :canonical: ophyd_async.tango.demo._point_detector_channel.EnergyMode.HIGH :value: > 'High Energy' ```{autodoc2-docstring} ophyd_async.tango.demo._point_detector_channel.EnergyMode.HIGH ``` ```` ````` `````{py:class} DemoPointDetectorChannel(trl: str = '', support_events: bool = False, name: str = '', auto_fill_signals: bool = True) :canonical: ophyd_async.tango.demo._point_detector_channel.DemoPointDetectorChannel Bases: {py:obj}`ophyd_async.tango.core.TangoDevice`, {py:obj}`ophyd_async.core.StandardReadable` ```{autodoc2-docstring} ophyd_async.tango.demo._point_detector_channel.DemoPointDetectorChannel ``` ````{py:attribute} value :canonical: ophyd_async.tango.demo._point_detector_channel.DemoPointDetectorChannel.value :type: ~typing.Annotated[~ophyd_async.core.SignalR[int], TangoPolling(0.1, 0.1, 0.1), ~ophyd_async.core.StandardReadableFormat.HINTED_UNCACHED_SIGNAL] :value: > None ```{autodoc2-docstring} ophyd_async.tango.demo._point_detector_channel.DemoPointDetectorChannel.value ``` ```` ````{py:attribute} mode :canonical: ophyd_async.tango.demo._point_detector_channel.DemoPointDetectorChannel.mode :type: ~typing.Annotated[~ophyd_async.core.SignalRW[~ophyd_async.tango.demo._point_detector_channel.EnergyMode], TangoPolling(0.1, 0.1, 0.1), ~ophyd_async.core.StandardReadableFormat.CONFIG_SIGNAL] :value: > None ```{autodoc2-docstring} ophyd_async.tango.demo._point_detector_channel.DemoPointDetectorChannel.mode ``` ```` ````` `````{py:class} DemoPointDetector(trl: str, channel_trls: list[str], name: str = '') :canonical: ophyd_async.tango.demo._point_detector.DemoPointDetector Bases: {py:obj}`ophyd_async.tango.core.TangoDevice`, {py:obj}`ophyd_async.core.StandardReadable`, {py:obj}`bluesky.protocols.Triggerable` ```{autodoc2-docstring} ophyd_async.tango.demo._point_detector.DemoPointDetector ``` ````{py:attribute} acquire_time :canonical: ophyd_async.tango.demo._point_detector.DemoPointDetector.acquire_time :type: ~typing.Annotated[~ophyd_async.core.SignalRW[float], ~ophyd_async.core.StandardReadableFormat.CONFIG_SIGNAL] :value: > None ```{autodoc2-docstring} ophyd_async.tango.demo._point_detector.DemoPointDetector.acquire_time ``` ```` ````{py:attribute} start :canonical: ophyd_async.tango.demo._point_detector.DemoPointDetector.start :type: ~ophyd_async.core.TriggerableCommand :value: > None ```{autodoc2-docstring} ophyd_async.tango.demo._point_detector.DemoPointDetector.start ``` ```` ````{py:attribute} acquiring :canonical: ophyd_async.tango.demo._point_detector.DemoPointDetector.acquiring :type: ~ophyd_async.core.SignalR[bool] :value: > None ```{autodoc2-docstring} ophyd_async.tango.demo._point_detector.DemoPointDetector.acquiring ``` ```` ````{py:attribute} reset :canonical: ophyd_async.tango.demo._point_detector.DemoPointDetector.reset :type: ~ophyd_async.core.TriggerableCommand :value: > None ```{autodoc2-docstring} ophyd_async.tango.demo._point_detector.DemoPointDetector.reset ``` ```` ````{py:method} trigger() :canonical: ophyd_async.tango.demo._point_detector.DemoPointDetector.trigger :async: ```{autodoc2-docstring} ophyd_async.tango.demo._point_detector.DemoPointDetector.trigger ``` ```` `````