Configuration module#
RedSun configuration classes and enumerators.
- class sunflare.config.AcquisitionEngineTypes(value)#
Bases:
str
,Enum
Supported acquisition engines.
Acquisition engines are objects created within RedSun and operate as Bluesky plan managers for the acquisition process. They are responsible for the orchestration of the different hardware components currently loaded in RedSun.
It is expected that new acquisition engines implement Bluesky’s
RunEngine
public API.- BLUESKY#
Python-based data acquisition framework for scientific experiments. For more informations, refer to the Bluesky documentation page.
- class sunflare.config.FrontendTypes(value)#
Bases:
str
,Enum
Supported frontend types.
Frontends are the supported GUI frameworks that are used to interact with the user.
- QT#
Qt frontend.
- class sunflare.config.ControllerInfo#
Controller information model.
- class sunflare.config.ModelInfo(*, model_name, vendor='N/A', serial_number='N/A')#
Base model for device information.
All device information models inherit from this class.
- Parameters:
model_name (str)
vendor (str)
serial_number (str)
- model_name#
Device model name.
- Type:
str
- vendor#
Detector vendor.
- Type:
str
, optional
- serial_number#
Detector serial number.
- Type:
str
, optional
- class sunflare.config.RedSunSessionInfo(*, engine, frontend=FrontendTypes.QT, controllers=NOTHING, models=NOTHING)#
RedSun session configuration class.
This class is used to store the configuration of a running RedSun application; it provides information about the hardware layout and the selected acquisition engine.
A minimal configuration must include the selected acquisition engine.
- Parameters:
engine (AcquisitionEngineTypes)
frontend (FrontendTypes)
controllers (dict[str, ControllerInfo])
models (dict[str, ModelInfo])
- engine#
Acquisition engine selected for the current session. Mandatory.
- Type:
AcquisitionEngineTypes
- frontend#
Frontend selected for the current session. Defaults to
FrontendTypes.QT
.- Type:
FrontendTypes
- controllers#
Controller informations dictionary. Defaults to an empty dictionary.
- Type:
dict[str, ControllerInfo]
- models#
Model informations dictionary. Defaults to an empty dictionary.
- Type:
dict[str, ModelInfo]