Skip to content

Asymmotron analyzer needs to properly calculate energy velocity #466

@canismarko

Description

@canismarko

Describe the bug

Consider a plan like:

analyzer = haven.devices.Analyzer(...)
RE(bps.mv(analyzer.energy, 10050))

This can result in physical motors moving a big distance. Currently, the timeout is calculated by the velocity of the positioner, which is not dependent on the actual motor velocities. This velocity is also not entirely obvious to calculate since it is not constant across energies.

However, if the velocity is over-estimated then the timeout is too short and the move may fail waiting for the physical motors to reach their destinations.

To Reproduce

analyzer = haven.devices.Analyzer(...)
RE(bps.mv(analyzer.energy, 10050))

Expected behavior

Device waits the correct amount of time for the movement to finish instead of timing out early.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions