kafka_dae_control.data

Data class containing the state of the program.

Members

Data

Create a new model by parsing and validating input data from keyword arguments.

class kafka_dae_control.data.Data(*, running: bool = False, frame_sync_select_rbv: FrameSyncSelect = FrameSyncSelect.UNKNOWN, frame_sync_select_sp: FrameSyncSelect = FrameSyncSelect.UNKNOWN, job_id: str = '', run_number: int = 0, blocks: list[str] = <factory>, num_periods_sp: int = 1, num_periods_rbv: int = 1, current_period_sp: int = 1, current_period_rbv: int = 1, period_mode_sp: PeriodMode = PeriodMode.UNKNOWN, period_mode_rbv: PeriodMode = PeriodMode.UNKNOWN)[source]

Bases: BaseModel

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

blocks: list[str]

List of blocks to be inserted in the run start nexus structure. These are prefixed with the instrument and block server prefixes

current_period_rbv: int

Current period number readback. This is 1-indexed for backwards compatibility reasons.

current_period_sp: int

Current period number setpoint. This is 1-indexed for backwards compatibility reasons.

frame_sync_select_rbv: FrameSyncSelect

The frame sync select value on the hardware

frame_sync_select_sp: FrameSyncSelect

The frame sync select value setpoint

job_id: str

Run’s job_id, used to tie starts and stops together

model_config = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

num_periods_rbv: int

Number of periods (readback).

num_periods_sp: int

Number of periods (setpoint).

period_mode_rbv: PeriodMode

The period mode readback.

period_mode_sp: PeriodMode

The period mode setpoint.

run_number: int

Run number

running: bool

Whether the hardware is running or not