change to a deque for monitor
This commit is contained in:
@ -31,7 +31,7 @@ class BECAdapter:
|
||||
self.recon = recon
|
||||
|
||||
if self.monitor:
|
||||
self.grum_client_monitor.new_plot( "monitor",{'xlabel':'time', 'ylabel':"sls_ring_current", "format": "time" })
|
||||
self.grum_client_monitor.new_plot( "monitor",{'xlabel':'time', 'ylabel':"sls_ring_current", "frmt": "time" })
|
||||
if self.motor_pos:
|
||||
self.grum_client_motor_pos.new_plot("Motor position", {'xlabel':'average_x_st_fzp', 'ylabel':"average_y_st_fzp" })
|
||||
|
||||
@ -48,21 +48,23 @@ class BECAdapter:
|
||||
|
||||
def scan_status_update(self, segment):
|
||||
# whenever a new scan starts or ends, for now changes scan nr both in start and end
|
||||
segment = BECMessage.ScanStatusMessage.loads(segment.value)
|
||||
self.scan_nr = segment.content["info"]["scan_number"]
|
||||
self.positions = segment.content["info"]["positions"]
|
||||
xpos = [x for x,y in self.positions]
|
||||
ypos = [y for x,y in self.positions]
|
||||
if len(segment.content["info"]["primary"]) == 2:
|
||||
self.scan_running = True
|
||||
# print("Plotting new positions")
|
||||
if self.motor_pos:
|
||||
self.grum_client_motor_pos.new_plot( "Motor position", {"xs": xpos, "ys":ypos, 'xlabel':'average_x_st_fzp', 'ylabel':"average_y_st_fzp", "format": "Dots"})
|
||||
else:
|
||||
self.scan_running = False
|
||||
if segment.content["status"] == "open":
|
||||
segment = BECMessage.ScanStatusMessage.loads(segment.value)
|
||||
print(segment.content)
|
||||
self.scan_nr = segment.content["info"]["scan_number"]
|
||||
self.positions = segment.content["info"]["positions"]
|
||||
xpos = [x for x,y in self.positions]
|
||||
ypos = [y for x,y in self.positions]
|
||||
if len(segment.content["info"]["primary"]) == 2:
|
||||
self.scan_running = True
|
||||
# print("Plotting new positions")
|
||||
if self.motor_pos:
|
||||
self.grum_client_motor_pos.new_plot( "Motor position", {"xs": xpos, "ys":ypos, 'xlabel':'average_x_st_fzp', 'ylabel':"average_y_st_fzp", "frmt": "Dots"})
|
||||
else:
|
||||
self.scan_running = False
|
||||
|
||||
if len(segment.content["info"]["primary"]) == 1:
|
||||
print("umv")
|
||||
if len(segment.content["info"]["primary"]) == 1:
|
||||
print("umv")
|
||||
|
||||
def start_scan_segment_sub(self):
|
||||
self._scan_segment_sub = self.redis_connector.consumer(
|
||||
|
@ -1,16 +1,16 @@
|
||||
from pyqtgraph import DateAxisItem
|
||||
from collections import deque
|
||||
|
||||
class PlotDescription:
|
||||
|
||||
def __init__(self, name, title=None, xlabel=None, ylabel=None, xs=None, ys=None, format=None):
|
||||
def __init__(self, name, title=None, xlabel=None, ylabel=None, xs=None, ys=None, frmt=None):
|
||||
self.name = name
|
||||
self.title = title
|
||||
self.xlabel = xlabel
|
||||
self.ylabel = ylabel
|
||||
self.xs = [] if xs is None else list(xs)
|
||||
self.ys = [] if ys is None else list(ys)
|
||||
self.format = format
|
||||
|
||||
self.xs = deque(maxlen = 5000) if xs is None else deque(xs, maxlen = 5000)
|
||||
self.ys = deque(maxlen = 5000) if ys is None else deque(ys, maxlen = 5000)
|
||||
self.format = frmt
|
||||
|
||||
@property
|
||||
def data(self):
|
||||
@ -42,7 +42,7 @@ class PlotDescription:
|
||||
# res = plotwidget.plot(self.xs, self.ys, name=self.name, **style)
|
||||
|
||||
res = plotwidget.plot(self.xs, self.ys, name=self.name, **style)
|
||||
if format == "time":
|
||||
if self.format == "time":
|
||||
axis = DateAxisItem()
|
||||
plotwidget.setAxisItems({'bottom':axis})
|
||||
|
||||
|
Reference in New Issue
Block a user