dodal.devices.tetramm.TetrammController#

class dodal.devices.tetramm.TetrammController[source]#

Controller for a TetrAMM current monitor

Parameters:

driver (TetrammDriver)

Methods

arm()

disarm()

get_deadtime(exposure)

prepare(trigger_info)

set_exposure(exposure)

Set the exposure time and acquire period.

start_acquiring_driver_and_ensure_status()

Start acquiring driver, raising ValueError if the detector is in a bad state.

wait_for_idle()

async set_exposure(exposure: float) None[source]#

Set the exposure time and acquire period.

As during the exposure time, the device must collect an integer number of readings, in the case where the exposure is not a multiple of the base sample rate, it will be lowered to the prior multiple ot ensure triggers are not missed.

Parameters:

exposure (How long to wait for the exposure time and acquire period to be set.) – Desired exposure time.

Return type:

None

async start_acquiring_driver_and_ensure_status() AsyncStatus[source]#

Start acquiring driver, raising ValueError if the detector is in a bad state.

This sets driver.acquire to True, and waits for it to be True up to a timeout. Then, it checks that the DetectorState PV is in DEFAULT_GOOD_STATES, and otherwise raises a ValueError.

Returns AsyncStatus:

An AsyncStatus that can be awaited to set driver.acquire to True and perform subsequent raising (if applicable) due to detector state.

Return type:

AsyncStatus