Skip to content

Write a plan to configure the ion chambers to a known good state #445

@canismarko

Description

@canismarko

Description of the feature

We want a plan that will accept one or more ion chambers, and configure them for normal beamline operation.

Mostly this means:

  • set up preamp settings (e.g. filters, DESC field)
  • set up the labjack voltmeter channel (including DESC field)

Requirements

Suggested Solution

Maybe a plan with the following signature:

def setup_ion_chambers(ion_chambers: Sequence[IonChamber]) -> Generator(Msg, Any, None):

then in it's implementation it should use the bluesky.plan_stubs.mv plan to set all these things (or maybe bluesky.plan_stubs.set_abs).

yield from bps.mv(ion_chamber.preamp.filter_frequency, "100 Hz")

NB: this plan should NOT change the pre-amp gain or offset, since these settings will be set explicitly by the operator or using the auto_gain plan.

Justification

If the ion chambers are producing strange data, this command can be run to force them into a known good configuration, ruling out any settings on the pre-amps, etc. This could be run once for all the ion chambers as needed.

Additional context

We might want to move the auto-naming feature into this plan too. Right now, the scaler channel's .DESC field is set to the device's name when connecting an ion chamber device. This works, but is somewhat unintuitive behavior. Maybe we want to do this setup in this plan to make it more clear what is happening.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions