mirror of
https://github.com/bec-project/bec_widgets.git
synced 2025-07-14 11:41:49 +02:00
fix: monitor.py fixed scan mode
This commit is contained in:
@ -27,160 +27,96 @@ CONFIG_SCAN_MODE = {
|
|||||||
"grid_scan": [
|
"grid_scan": [
|
||||||
{
|
{
|
||||||
"plot_name": "Grid plot 1",
|
"plot_name": "Grid plot 1",
|
||||||
"x": {"label": "Motor X", "signals": [{"name": "samx", "entry": "samx"}]},
|
"x_label": "Motor X",
|
||||||
"y": {
|
"y_label": "BPM",
|
||||||
"label": "BPM",
|
"sources": [
|
||||||
"signals": [
|
{
|
||||||
{"name": "gauss_bpm", "entry": "gauss_bpm"},
|
"type": "scan_segment",
|
||||||
{"name": "gauss_adc1", "entry": "gauss_adc1"},
|
"signals": {
|
||||||
],
|
"x": [{"name": "samx", "entry": "samx"}],
|
||||||
},
|
"y": [{"name": "gauss_bpm"}],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"plot_name": "Grid plot 2",
|
"plot_name": "Grid plot 2",
|
||||||
"x": {"label": "Motor X", "signals": [{"name": "samx", "entry": "samx"}]},
|
"x_label": "Motor X",
|
||||||
"y": {
|
"y_label": "BPM",
|
||||||
"label": "BPM",
|
"sources": [
|
||||||
"signals": [
|
{
|
||||||
{"name": "gauss_bpm", "entry": "gauss_bpm"},
|
"type": "scan_segment",
|
||||||
{"name": "gauss_adc1", "entry": "gauss_adc1"},
|
"signals": {
|
||||||
],
|
"x": [{"name": "samx", "entry": "samx"}],
|
||||||
},
|
"y": [{"name": "gauss_adc1"}],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"plot_name": "Grid plot 3",
|
"plot_name": "Grid plot 3",
|
||||||
"x": {"label": "Motor Y", "signals": [{"name": "samx", "entry": "samx"}]},
|
"x_label": "Motor X",
|
||||||
"y": {"label": "BPM", "signals": [{"name": "gauss_bpm", "entry": "gauss_bpm"}]},
|
"y_label": "BPM",
|
||||||
|
"sources": [
|
||||||
|
{
|
||||||
|
"type": "scan_segment",
|
||||||
|
"signals": {
|
||||||
|
"x": [{"name": "samy"}],
|
||||||
|
"y": [{"name": "gauss_adc2"}],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"plot_name": "Grid plot 4",
|
"plot_name": "Grid plot 4",
|
||||||
"x": {"label": "Motor Y", "signals": [{"name": "samx", "entry": "samx"}]},
|
"x_label": "Motor X",
|
||||||
"y": {"label": "BPM", "signals": [{"name": "gauss_adc3", "entry": "gauss_adc3"}]},
|
"y_label": "BPM",
|
||||||
|
"sources": [
|
||||||
|
{
|
||||||
|
"type": "scan_segment",
|
||||||
|
"signals": {
|
||||||
|
"x": [{"name": "samy", "entry": "samy"}],
|
||||||
|
"y": [{"name": "gauss_adc3"}],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
"line_scan": [
|
"line_scan": [
|
||||||
{
|
{
|
||||||
"plot_name": "BPM plot",
|
"plot_name": "BPM plots vs samx",
|
||||||
"x": {"label": "Motor X", "signals": [{"name": "samx", "entry": "samx"}]},
|
"x_label": "Motor X",
|
||||||
"y": {
|
"y_label": "Gauss",
|
||||||
"label": "BPM",
|
"sources": [
|
||||||
"signals": [
|
{
|
||||||
{"name": "gauss_bpm", "entry": "gauss_bpm"},
|
"type": "scan_segment",
|
||||||
{"name": "gauss_adc1"},
|
"signals": {
|
||||||
{"name": "gauss_adc2", "entry": "gauss_adc2"},
|
"x": [{"name": "samx", "entry": "samx"}],
|
||||||
],
|
"y": [{"name": "bpm4i"}],
|
||||||
},
|
},
|
||||||
|
}
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"plot_name": "Multi",
|
"plot_name": "Gauss plots vs samx",
|
||||||
"x": {"label": "Motor X", "signals": [{"name": "samx", "entry": "samx"}]},
|
"x_label": "Motor X",
|
||||||
"y": {
|
"y_label": "Gauss",
|
||||||
"label": "Multi",
|
"sources": [
|
||||||
"signals": [
|
{
|
||||||
{"name": "gauss_bpm", "entry": "gauss_bpm"},
|
"type": "scan_segment",
|
||||||
{"name": "samx", "entry": "samx"},
|
"signals": {
|
||||||
],
|
"x": [{"name": "samx", "entry": "samx"}],
|
||||||
},
|
"y": [{"name": "gauss_bpm"}, {"name": "gauss_adc1"}],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
CONFIG_SIMPLE = {
|
|
||||||
"plot_settings": {
|
|
||||||
"background_color": "black",
|
|
||||||
"num_columns": 2,
|
|
||||||
"colormap": "plasma",
|
|
||||||
"scan_types": False,
|
|
||||||
},
|
|
||||||
"plot_data": [
|
|
||||||
{
|
|
||||||
"plot_name": "BPM4i plots vs samx",
|
|
||||||
"x": {
|
|
||||||
"label": "Motor Y",
|
|
||||||
"signals": [{"name": "samy"}],
|
|
||||||
},
|
|
||||||
"y": {"label": "bpm4i", "signals": [{"name": "bpm4i", "entry": "bpm4i"}]},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"plot_name": "Gauss plots vs samx",
|
|
||||||
"x": {"label": "Motor X", "signals": [{"name": "samx", "entry": "samx"}]},
|
|
||||||
"y": {
|
|
||||||
"label": "Gauss",
|
|
||||||
"signals": [{"name": "gauss_bpm"}, {"name": "samy", "entry": "samy"}],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}
|
|
||||||
|
|
||||||
CONFIG_NO_ENTRY = {
|
|
||||||
"plot_settings": {
|
|
||||||
"background_color": "white",
|
|
||||||
"num_columns": 5,
|
|
||||||
"colormap": "plasma",
|
|
||||||
"scan_types": False,
|
|
||||||
},
|
|
||||||
"plot_data": [
|
|
||||||
{
|
|
||||||
"plot_name": "BPM4i plots vs samx",
|
|
||||||
"x": {"label": "Motor Y", "signals": [{"name": "samx"}]},
|
|
||||||
"y": {"label": "bpm4i", "signals": [{"name": "bpm4i"}]},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"plot_name": "Gauss plots vs samx",
|
|
||||||
"x": {"label": "Motor X", "signals": [{"name": "samx"}]},
|
|
||||||
"y": {"label": "Gauss", "signals": [{"name": "gauss_bpm"}, {"name": "gauss_adc1"}]},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}
|
|
||||||
|
|
||||||
CONFIG_WRONG = {
|
CONFIG_WRONG = {
|
||||||
"plot_settings": {
|
|
||||||
"background_color": "white",
|
|
||||||
"num_columns": 5,
|
|
||||||
"colormap": "plasma",
|
|
||||||
"scan_types": False,
|
|
||||||
},
|
|
||||||
"plot_data": [
|
|
||||||
{
|
|
||||||
"plot_name": "BPM4i plots vs samx",
|
|
||||||
"x": {"label": "Motor Y", "signals": [{"name": "samx"}]},
|
|
||||||
"y": {"label": "bpm4i", "signals": [{"name": "bpm4i"}]},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"plot_name": "Gauss plots vs samx",
|
|
||||||
"x": {"label": "Motor X", "signals": [{"name": "samx"}]},
|
|
||||||
"y": {
|
|
||||||
"label": "Gauss",
|
|
||||||
"signals": [
|
|
||||||
{"name": "gauss_bpm"},
|
|
||||||
{"name": "non_exist1"},
|
|
||||||
{"name": "non_exist2"},
|
|
||||||
{"name": "gauss_bpm", "entry": "samx"},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}
|
|
||||||
|
|
||||||
test_config = {
|
|
||||||
"plot_settings": {
|
|
||||||
"background_color": "white",
|
|
||||||
"axis_width": 2,
|
|
||||||
"num_columns": 5,
|
|
||||||
"colormap": "plasma",
|
|
||||||
"scan_types": False,
|
|
||||||
},
|
|
||||||
"plot_data": [
|
|
||||||
{
|
|
||||||
"plot_name": "BPM4i plots vs samx",
|
|
||||||
"x": {"label": "Motor Y", "signals": [{"name": "samx"}]},
|
|
||||||
"y": {"label": "bpm4i", "signals": [{"name": "bpm4i"}]},
|
|
||||||
}
|
|
||||||
],
|
|
||||||
}
|
|
||||||
|
|
||||||
CONFIG_SOURCE = {
|
|
||||||
"plot_settings": {
|
"plot_settings": {
|
||||||
"background_color": "black",
|
"background_color": "black",
|
||||||
"num_columns": 2,
|
"num_columns": 2,
|
||||||
@ -194,7 +130,7 @@ CONFIG_SOURCE = {
|
|||||||
"y_label": "bpm4i",
|
"y_label": "bpm4i",
|
||||||
"sources": [
|
"sources": [
|
||||||
{
|
{
|
||||||
"type": "scan_segment",
|
"type": "non_existing_source",
|
||||||
"signals": {
|
"signals": {
|
||||||
"x": [{"name": "samy"}],
|
"x": [{"name": "samy"}],
|
||||||
"y": [{"name": "bpm4i", "entry": "bpm4i"}],
|
"y": [{"name": "bpm4i", "entry": "bpm4i"}],
|
||||||
@ -210,6 +146,57 @@ CONFIG_SOURCE = {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"plot_name": "Gauss plots vs samx",
|
||||||
|
"x_label": "Motor X",
|
||||||
|
"y_label": "Gauss",
|
||||||
|
"sources": [
|
||||||
|
{
|
||||||
|
"type": "scan_segment",
|
||||||
|
"signals": {
|
||||||
|
"x": [{"name": "samx", "entry": "non_sense_entry"}],
|
||||||
|
"y": [
|
||||||
|
{"name": "non_existing_name"},
|
||||||
|
{"name": "samy", "entry": "non_existing_entry"},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
CONFIG_SIMPLE = {
|
||||||
|
"plot_settings": {
|
||||||
|
"background_color": "black",
|
||||||
|
"num_columns": 2,
|
||||||
|
"colormap": "plasma",
|
||||||
|
"scan_types": False,
|
||||||
|
},
|
||||||
|
"plot_data": [
|
||||||
|
{
|
||||||
|
"plot_name": "BPM4i plots vs samx",
|
||||||
|
"x_label": "Motor Y",
|
||||||
|
"y_label": "bpm4i",
|
||||||
|
"sources": [
|
||||||
|
{
|
||||||
|
"type": "scan_segment",
|
||||||
|
"signals": {
|
||||||
|
"x": [{"name": "samx"}],
|
||||||
|
"y": [{"name": "bpm4i", "entry": "bpm4i"}],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
# {
|
||||||
|
# "type": "history",
|
||||||
|
# "scanID": "<scanID>",
|
||||||
|
# "signals": {
|
||||||
|
# "x": [{"name": "samx"}],
|
||||||
|
# "y": [{"name": "bpm4i", "entry": "bpm4i"}],
|
||||||
|
# },
|
||||||
|
# },
|
||||||
|
],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"plot_name": "Gauss plots vs samx",
|
"plot_name": "Gauss plots vs samx",
|
||||||
"x_label": "Motor X",
|
"x_label": "Motor X",
|
||||||
@ -219,7 +206,7 @@ CONFIG_SOURCE = {
|
|||||||
"type": "scan_segment",
|
"type": "scan_segment",
|
||||||
"signals": {
|
"signals": {
|
||||||
"x": [{"name": "samx", "entry": "samx"}],
|
"x": [{"name": "samx", "entry": "samx"}],
|
||||||
"y": [{"name": "gauss_bpm"}, {"name": "samy", "entry": "samy"}],
|
"y": [{"name": "gauss_bpm"}, {"name": "gauss_adc1"}],
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -514,7 +501,7 @@ class BECMonitor(pg.GraphicsLayoutWidget):
|
|||||||
"""Update the plot data based on the stored data dictionary."""
|
"""Update the plot data based on the stored data dictionary."""
|
||||||
for plot_name, curve_list in self.curves_data.items():
|
for plot_name, curve_list in self.curves_data.items():
|
||||||
plot_config = next(
|
plot_config = next(
|
||||||
(pc for pc in self.plot_data_config if pc.get("plot_name") == plot_name), None
|
(pc for pc in self.plot_data if pc.get("plot_name") == plot_name), None
|
||||||
)
|
)
|
||||||
if not plot_config:
|
if not plot_config:
|
||||||
continue
|
continue
|
||||||
@ -534,7 +521,7 @@ class BECMonitor(pg.GraphicsLayoutWidget):
|
|||||||
"""Extract the signal configurations for x and y axes from plot_config."""
|
"""Extract the signal configurations for x and y axes from plot_config."""
|
||||||
x_name, x_entry, y_configurations = None, None, []
|
x_name, x_entry, y_configurations = None, None, []
|
||||||
|
|
||||||
for source in plot_config["sources"]:
|
for source in plot_config["sources"]: # TODO has to be fixed for scan mode!!!!
|
||||||
if "x" in source["signals"]:
|
if "x" in source["signals"]:
|
||||||
x_signal = source["signals"]["x"][0]
|
x_signal = source["signals"]["x"][0]
|
||||||
x_name = x_signal.get("name", "")
|
x_name = x_signal.get("name", "")
|
||||||
@ -719,7 +706,7 @@ if __name__ == "__main__": # pragma: no cover
|
|||||||
# Load config from file
|
# Load config from file
|
||||||
config = load_yaml(args.config_file)
|
config = load_yaml(args.config_file)
|
||||||
else:
|
else:
|
||||||
config = CONFIG_SOURCE
|
config = CONFIG_SIMPLE
|
||||||
|
|
||||||
client = bec_dispatcher.client
|
client = bec_dispatcher.client
|
||||||
client.start()
|
client.start()
|
||||||
|
Reference in New Issue
Block a user