Select a Readout Priority¶
Overview
Selecting a readoutPriority for your device in the device config file determines when signals from that device are read during a scan. This is an important choice that affects readings from your device during scans.
Prerequisites¶
- You have defined a device in your BEC device config file, either through the YAML config or through the GUI.
-
The
read()andread_configuration()methods of your device return the expected signals and values.
1. Pick a readoutPriority¶
Choose the priority based on when BEC should read this device:
- Use
monitoredfor values that must be read at scan read points. - Use
baselinefor setup-state values that are mostly static during a scan. - Use
on_requestfor devices you only want to read explicitly. - Use
asyncfor devices producing asynchronous data streams.
2. Set it in the device config¶
Set readoutPriority on the device definition in your BEC device configuration.
Example:
ring_current:
readoutPriority: monitored
description: Storage ring current
deviceClass: ophyd_devices.EpicsSignalRO
deviceConfig:
read_pv: 'ARIDI-PCT:CURRENT'
enabled: true
DeviceManager View in the BEC App
If you are configuring devices from the GUI, select the desired readoutPriority value in the device's configuration form.
3. Verify during a scan¶
Run a short scan 'line_scan' and confirm the device is read at the expected points:
monitored: Reading is included at every step of the scan.baseline: A single reading is included.on_request: No readings are included.
Congratulations!
You have successfully selected a readoutPriority for your device. This will control when BEC reads signals from this device during scans, which is crucial for ensuring the right data is collected at the right time.
If you are interested in more details on how readoutPriority works in BEC, please check the learning material on the topic: