diff --git a/pxiii_bec/daily_setup_files/daily_beam_13001eV.png b/pxiii_bec/daily_setup_files/daily_beam_13001eV.png new file mode 100644 index 0000000..126a38c Binary files /dev/null and b/pxiii_bec/daily_setup_files/daily_beam_13001eV.png differ diff --git a/pxiii_bec/daily_setup_files/daily_beamline_health.csv b/pxiii_bec/daily_setup_files/daily_beamline_health.csv new file mode 100644 index 0000000..17b0778 --- /dev/null +++ b/pxiii_bec/daily_setup_files/daily_beamline_health.csv @@ -0,0 +1,20 @@ +timestamp,energy_eV,pitch_offset,flux_ph_s,beam_start_x_px,beam_start_y_px,vfm_mot_start_mm,hfm_mot_start_mm,vfm_mot_final_mm,hfm_mot_final_mm,beam_final_x_um,beam_final_y_um,vfm_y_mm,vfm_mot_mm,vfm_pitch_mrad,hfm_x_mm,hfm_mot_mm,hfm_pitch_mrad +2026-10-04T11:48:55,,,,,,,,,,,,-6.56761,-4.49412,-4.49412,1.69982,4.00179,4.00179 +2026-10-04T11:49:50,,,,,,,,,,,,-6.56762,-4.49413,-4.49413,1.69983,4.00173,4.00173 +2026-10-04T11:51:15,,,,,,,,,,,,-6.56762,-4.49411,-4.49411,1.69983,4.00179,4.00179 +2026-10-04T11:59:42,,,,,,,,,,,,-6.56761,-4.49412,-4.49412,1.69983,4.00175,4.00175 +2026-10-04T12:06:37,,,,,,,,,,,,-6.56761,-4.49412,-4.49412,1.69983,4.00168,4.00168 +2026-10-04T12:22:06,,,,,,,,,,,,-6.56761,-4.49408,-4.49408,1.69984,4.00169,4.00169 +2026-10-04T13:01:57,12000,0.002,,,,,,,,,,-6.56762,-4.49412,-4.49412,1.69982,4.00174,4.00174 +2026-10-04T13:04:00,13000,0.000,,,,,,,,,,-6.56762,-4.49410,-4.49410,1.69982,4.00190,4.00190 +2026-10-04T13:10:56,,,,,,,,,,,,-6.56762,-4.49412,-4.49412,1.69983,4.00171,4.00171 +2026-10-04T13:14:14,13000,0.002,,,,,,,,,,-6.56762,-4.49412,-4.49412,1.69981,4.00190,4.00190 +2026-10-04T14:15:43,13000,0.002,,,,,,,,1061.7,1044.3,-6.56762,-4.49412,-4.49412,1.69983,4.00179,4.00179 +2026-10-04T14:37:30,13001,0.002,,,,,,,,2.4,-14.4,-6.56763,-4.49408,-4.49408,1.69982,4.00192,4.00192 +2026-10-04T15:33:27,13001,0.002,,,,,,,,6.2,5.7,-6.70411,-6.86825,-4.49421,1.69988,0.31495,4.00179 +2026-10-04T15:35:07,13001,0.002,,,,,,,,6.1,4.9,-6.30518,-6.07005,-4.49449,1.69997,0.67211,4.00190 +2026-10-04T15:36:06,13001,0.002,,,,,,,,,,-5.90622,-5.27207,-4.49506,1.70006,1.03838,4.00166 +2026-10-04T15:46:37,13001,0.002,,,,,,,,0.2,0.8,-6.58864,-6.63734,-4.49435,1.69981,-0.04983,4.00191 +2026-10-04T16:06:54,13001,0.002,,,,,,,,-3.3,0.2,-6.58865,-6.63733,-4.49432,1.69984,-0.04999,4.00172 +2026-10-04T16:10:07,13001,0.002,,,,,,,,-0.1,-0.3,-6.58865,-6.63734,-4.49436,1.69983,-0.04991,4.00177 +2026-10-04T16:12:45,13001,0.002,,,,,,,,-2.1,-0.8,-6.58866,-6.63735,-4.49437,1.69983,-0.04986,4.00193 diff --git a/pxiii_bec/macros/create_daily_setup_gui.py b/pxiii_bec/macros/create_daily_setup_gui.py new file mode 100644 index 0000000..6b1a886 --- /dev/null +++ b/pxiii_bec/macros/create_daily_setup_gui.py @@ -0,0 +1,20 @@ +def create_daily_setup(): + dock = bec.gui.new("DailySetup") + plot1 = dock.new(widget="Waveform", object_name= "Plot_1") + plot2 = dock.new(widget="Waveform", object_name= "Plot_2", where="bottom") + plot3 = dock.new(widget="Waveform", object_name= "Plot_3", where="bottom") + plot4 = dock.new(widget="Waveform", object_name= "Plot_4", where="bottom") + log = dock.new(widget="TextBox", object_name= "Info", where="left") + progress = dock.new(widget="TextBox", object_name= "Progress", where="left") + + dock.set_layout_ratios( + horizontal=[1,2,1], + vertical=[1,1,1,1], + ) + + progress.set_plain_text("") + log.set_plain_text("") + + dock.save_profile() + + diff --git a/pxiii_bec/macros/matcher.py b/pxiii_bec/macros/matcher.py deleted file mode 100644 index fb5c9b7..0000000 --- a/pxiii_bec/macros/matcher.py +++ /dev/null @@ -1,63 +0,0 @@ -"""Used for checking device positions match current state""" -class DeviceMatcher: - """Class for checking device positions match current state""" - def __init__(self): - self._rules = {} - - def register(self, device_name, func): - """Register a matching function for a device.""" - self._rules[device_name] = func - - def matches(self, device_name, device, expected): - """Return True if device matches expected state.""" - if expected is None: - return True # "don't care" - - if device_name in self._rules: - return self._rules[device_name](device, expected) - - # default fallback - return device.is_at(expected) - - def explain(self, device_name, device, expected): - """Return True if device matches expected state.""" - val = device.readback.get() - - if device_name in self._rules: - ok = self._rules[device_name](device, expected) - else: - ok = device.is_at(expected) - - return ok, val - -def nonzero_is_on(device, expected, eps=1e-6): - """Define that anything > 0 is on""" - val = device.actual - - if expected == "off": - return abs(val) < eps - if expected == "on": - return val > eps - - return abs(val - expected) < eps - - -# def threshold_rule(param_name): -# def _rule(device, expected): -# val = device.actual -# -# if expected == param_name: -# threshold = device.position -# return val >= threshold -# -# return device.is_at(expected) -# -# return _rule -# -# -# def within_tolerance(tol): -# def _rule(device, expected): -# val = device.readback.get() -# return abs(val - expected) < tol -# -# return _rule diff --git a/pxiii_bec/macros/mxcomm.tar b/pxiii_bec/macros/mxcomm.tar deleted file mode 100644 index 528b193..0000000 Binary files a/pxiii_bec/macros/mxcomm.tar and /dev/null differ