Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions bcm/devices/ophyd/stxm_sample_mtr.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,12 @@ def __init__(self, signal_name, **kwargs):
# self._coarse_scanable_range = coarse
# self._fine_scanable_range = fine

def stop(self):
"""Stop both coarse and fine motors"""
if self._coarse_mtr is not None:
self._coarse_mtr.stop()
if self._fine_mtr is not None:
self._fine_mtr.stop()

@property
def max_fine_range(self) -> float:
Expand Down
57 changes: 38 additions & 19 deletions bcm/devices/sim/energy_dev.py
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ def __init__(self, prefix, name, energy_dev_dict=None):
self.calcd_zpz_dev = energy_dev_dict['calcd_zpz_dev']
self.zp_focus_mode_dev = energy_dev_dict["zp_focus_mode_dev"]

self._enable_fl_change_on_energy_change = True
self._enable_fl_change_on_energy_change = False
self.focus_mode = 'OSA' # or 'SAMPLE'
self.FLMode_0 = 0.0
self.FLMode_1 = 0.0
Expand Down Expand Up @@ -450,28 +450,30 @@ def move_to_osa_focussed(self, energy_sp=None):
"""
Move the zpz positioner to the calculated position for OSA focused mode.
"""
if energy_sp is not None:
energy_val = energy_sp
else:
energy_val = self.energy_posner.get()
if self._enable_fl_change_on_energy_change:
if energy_sp is not None:
energy_val = energy_sp
else:
energy_val = self.energy_posner.get()

new_zpz = self.calc_new_zpz_for_osa_focussed(energy_val)
# print(f"Moving ZPZ to OSA focused position: {new_zpz:.2f}\n")
#self.zpz_posner.put("user_setpoint", new_zpz)
self.zpz_posner.call_emit_move(new_zpz, wait=False)
new_zpz = self.calc_new_zpz_for_osa_focussed(energy_val)
# print(f"Moving ZPZ to OSA focused position: {new_zpz:.2f}\n")
#self.zpz_posner.put("user_setpoint", new_zpz)
self.zpz_posner.call_emit_move(new_zpz, wait=False)

def move_to_sample_focussed(self, energy_sp=None):
"""
Move the zpz positioner to the calculated position for Sample focused mode.
"""
if energy_sp is not None:
energy_val = energy_sp
else:
energy_val = self.energy_posner.get()
new_zpz = self.calc_new_zoneplate_z_pos_for_focus(energy_val)
# print(f"Moving ZPZ to Sample focused position: {new_zpz:.2f}\n")
# self.zpz_posner.put("user_setpoint", new_zpz)
self.zpz_posner.call_emit_move(new_zpz, wait=False)
if self._enable_fl_change_on_energy_change:
if energy_sp is not None:
energy_val = energy_sp
else:
energy_val = self.energy_posner.get()
new_zpz = self.calc_new_zoneplate_z_pos_for_focus(energy_val)
# print(f"Moving ZPZ to Sample focused position: {new_zpz:.2f}\n")
# self.zpz_posner.put("user_setpoint", new_zpz)
self.zpz_posner.call_emit_move(new_zpz, wait=False)

def move(self, val: float, wait=True):
# print("EnergyDevice [move] called with val: ", val)
Expand Down Expand Up @@ -506,10 +508,27 @@ def set(self, val):
st.set_finished()
return st

def stop(self, *, success):
def stop(self):
# self.close()
# self.is_open = False
pass
if hasattr(self.a0_dev, "stop"):
self.a0_dev.stop()
if hasattr(self.delta_a0_dev, "stop"):
self.delta_a0_dev.stop()
if hasattr(self.zpz_adjust_dev, "stop"):
self.zpz_adjust_dev.stop()
if hasattr(self.defocus_beam_dev, "stop"):
self.defocus_beam_dev.stop()
if hasattr(self.focal_len_dev, "stop"):
self.focal_len_dev.stop()
if hasattr(self.zp_a1_dev, "stop"):
self.zp_a1_dev.stop()
if hasattr(self.a0_max_dev, "stop"):
self.a0_max_dev.stop()
if hasattr(self.calcd_zpz_dev, "stop"):
self.calcd_zpz_dev.stop()
if hasattr(self.zp_focus_mode_dev, "stop"):
self.zp_focus_mode_dev.stop()



Expand Down
5 changes: 3 additions & 2 deletions cls/applications/pyStxm/stxmMain.py
Original file line number Diff line number Diff line change
Expand Up @@ -1194,10 +1194,11 @@ def setup_main_gui(self):
fbk_dev=self.ev_en_dev,
off_str="Disabled",
on_str="Enabled",
toggle=True,
cb=self.on_enable_fl_change_with_energy
)
# set checked and text to True values
btn.make_checked(True)
# set checked and text to True values, startup it should be disabled
btn.make_checked(False)

fcs_mode_dev = MAIN_OBJ.device('DNM_FOCUS_MODE', do_warn=False)
if fcs_mode_dev:
Expand Down
35 changes: 15 additions & 20 deletions cls/devWidgets/ophydPushBtn.py
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,7 @@ def __init__(
self.btn.setChecked(False)
self.btn_state = False
self.btn.blockSignals(False)
self.change_btn_color(val)
# self.change_btn_color(val)

else:
self.fdevice.changed.connect(self._dev_fbk_changed)
Expand Down Expand Up @@ -421,26 +421,21 @@ def on_val_change(self, dct):

# txt_str = val
self.btn.setText(txt_str)
# if(val.find(self.on_str) > -1):
# self.make_checked(True)
# else:
# self.make_checked(False)

self.btn.blockSignals(False)
self.change_btn_color(dct["value"])

def change_btn_color(self, val):

if val == 0:
# in=0
s = format_btn(title_color="white", bgcolor=master_colors["app_medgray"]["rgb_str"])
elif val == 1:
# out =1
s = format_btn(title_color="white", bgcolor=master_colors["app_ltblue"]["rgb_str"])
else:
# moving
s = format_btn(title_color="black", bgcolor=master_colors["fbk_moving_ylw"]["rgb_str"])
self.btn.setStyleSheet(s)
# self.change_btn_color(dct["value"])

# def change_btn_color(self, val):
# pass
# # if val == 0:
# # # in=0
# # s = format_btn(title_color="white", bgcolor=master_colors["app_medgray"]["rgb_str"])
# # elif val == 1:
# # # out =1
# # s = format_btn(title_color="white", bgcolor=master_colors["app_ltblue"]["rgb_str"])
# # else:
# # # moving
# # s = format_btn(title_color="black", bgcolor=master_colors["fbk_moving_ylw"]["rgb_str"])
# # self.btn.setStyleSheet(s)

def on_released(self):
pass
Expand Down
3 changes: 1 addition & 2 deletions cls/plotWidgets/imageWidget.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@
import timeit
from typing import Dict, Optional

from PyQt5 import QtGui
from PyQt5 import QtCore
from PyQt5 import QtGui, QtWidgets, QtCore
from PyQt5.QtCore import pyqtSignal, QObject, QTimer, QPointF, QRectF, Qt
from PyQt5 import uic

Expand Down
8 changes: 4 additions & 4 deletions cls/stylesheets/dark_linux_hires_disp/QPushButton.qss
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
/*----------------------------------------------------------------------------*/
QWidget .QPushButton{
/*background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgb(90, 90, 90), stop:1 rgb(60, 60, 60));*/
background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgb(90, 90, 90), stop:1 rgb(60, 60, 60));
background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgb(90, 90, 90), stop:1 rgb(40, 40, 40));
border: 1px solid black;
color:rgb(220,220,220);
font: bold master_font_size "MS Shell Dlg 2";
Expand All @@ -13,9 +13,9 @@ QPushButton::hover{
color:rgb(255,255,255);
}

QPushButton::checked{
background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgb(94, 128, 220), stop:1 rgb(72, 99, 174));
border: 2px solid black;
QPushButton:checked{
background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgb(101, 112, 210), stop:1 rgb(62, 72, 255));
border: 2px solid rgb(30,30,30);
color:rgb(255,255,255);
}

Expand Down