sunflare.config
#
- 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.
- PYQT#
PyQt6 frontend.
- PYSIDE#
PySide6 frontend.
- class sunflare.config.ControllerInfo(*, plugin_name, plugin_id)#
Controller information model.
All controller information models inherit from this class.
- Parameters:
plugin_name (
str
, optional) – Controller plugin name. Equivalent to the name of the PyPI/Conda package.plugin_id (
str
, optional) – Controller plugin ID. Associated with the exposed entry point in the plugin manifest.
- class sunflare.config.ModelInfo(*, plugin_name, plugin_id, vendor='N/A', family='N/A', serial_number='N/A')#
Base model for device information.
All device information models inherit from this class.
- Parameters:
plugin_name (str)
plugin_id (str)
vendor (str)
family (str)
serial_number (str)
- plugin_name#
Model plugin name. Equivalent to the name of the PyPI/Conda package.
- Type:
str
, optional
- plugin_id#
Model plugin ID. Associated with the exposed entry point in the plugin manifest.
- Type:
str
, optional
- vendor#
Detector vendor. Defaults to
N/A
.- Type:
str
, optional
- family#
Detector family. Defaults to
N/A
.- Type:
str
, optional
- class sunflare.config.RedSunSessionInfo(*, session='Redsun', engine, frontend, models=NOTHING, controllers=NOTHING, widgets=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 frontend;
the selected acquisition engine;
- Parameters:
session (str)
engine (AcquisitionEngineTypes)
frontend (FrontendTypes)
models (dict[str, ModelInfoProtocol])
controllers (dict[str, ControllerInfoProtocol])
widgets (dict[str, WidgetInfoProtocol])
- session#
The name of the current session. Defaults to
Redsun
. It will be shown as the main window title.- Type:
str
- engine#
Acquisition engine selected for the current session. Defaults to
AcquisitionEngineTypes.BLUESKY
.- Type:
AcquisitionEngineTypes
- frontend#
Frontend selected for the current session. Defaults to
FrontendTypes.PYQT
.- 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]
- widgets#
Widget informations dictionary. Defaults to an empty dictionary.
- Type:
dict[str, WidgetInfo]