Update pglive patch for pglive repo PR #45
This commit is contained in:
parent
7a43ece873
commit
71be1093d6
@ -1,15 +1,15 @@
|
||||
diff --git a/pglive/sources/live_axis_range.py b/pglive/sources/live_axis_range.py
|
||||
index cd3a7fc..276c7b6 100755
|
||||
index cd3a7fc..25efae5 100755
|
||||
--- a/pglive/sources/live_axis_range.py
|
||||
+++ b/pglive/sources/live_axis_range.py
|
||||
@@ -13,6 +13,10 @@ class LiveAxisRange:
|
||||
offset_top: float = 0.0,
|
||||
offset_bottom: float = 0.0,
|
||||
fixed_range: Optional[List[float]] = None,
|
||||
+ x_range_width: Optional[float] = None,
|
||||
+ x_bound: Optional[List[float]] = None,
|
||||
+ y_range_width: Optional[float] = None,
|
||||
+ y_bound: Optional[List[float]] = None,
|
||||
+ x_min_range_width: Optional[float] = None,
|
||||
+ x_range_limit: Optional[List[float]] = None,
|
||||
+ y_min_range_width: Optional[float] = None,
|
||||
+ y_range_limit: Optional[List[float]] = None,
|
||||
) -> None:
|
||||
self.roll_on_tick = roll_on_tick
|
||||
self.offset_left = offset_left
|
||||
@ -17,10 +17,10 @@ index cd3a7fc..276c7b6 100755
|
||||
self.crop_top_offset_to_data = False
|
||||
self.crop_bottom_offset_to_data = False
|
||||
self.fixed_range = fixed_range
|
||||
+ self.x_range_width = x_range_width
|
||||
+ self.x_bound = x_bound
|
||||
+ self.y_range_width = y_range_width
|
||||
+ self.y_bound = y_bound
|
||||
+ self.x_min_range_width = x_min_range_width
|
||||
+ self.x_range_limit = x_range_limit
|
||||
+ self.y_min_range_width = y_min_range_width
|
||||
+ self.y_range_limit = y_range_limit
|
||||
self.x_range: Dict[str, List[float]] = {}
|
||||
self.y_range: Dict[str, List[float]] = {}
|
||||
self.final_x_range = [0.0, 0.0]
|
||||
@ -29,40 +29,58 @@ index cd3a7fc..276c7b6 100755
|
||||
if final_range[1] < x_range[1]:
|
||||
final_range[1] = x_range[1]
|
||||
- if final_range[0] == final_range[1]:
|
||||
+ if final_range[0] == final_range[1] and self.x_range_width is not None:
|
||||
+ if final_range[0] == final_range[1] and self.x_min_range_width is not None:
|
||||
# Pyqtgraph ViewBox.setRange doesn't like same value for min and max,
|
||||
# therefore in that case we must set some range
|
||||
final_range[0] -= 0.4
|
||||
final_range[1] += 0.4
|
||||
+ final_range = self._update_range_width(self.x_bound, self.x_range_width, final_range)
|
||||
+ final_range = self._update_range_width(self.x_range_limit, self.x_min_range_width, final_range)
|
||||
if self.final_x_range != final_range:
|
||||
self.final_x_range = final_range
|
||||
return self.final_x_range
|
||||
@@ -88,7 +97,7 @@ class LiveAxisRange:
|
||||
@@ -88,11 +97,12 @@ class LiveAxisRange:
|
||||
final_range[1] = x_range[1]
|
||||
if final_range is None:
|
||||
final_range = [0, 0]
|
||||
- if final_range[0] == final_range[1]:
|
||||
+ if final_range[0] == final_range[1] and self.x_range_width is None:
|
||||
# Pyqtgraph ViewBox.setRange doesn't like same value for min and max,
|
||||
# therefore in that case we must set some range
|
||||
final_range[0] -= 0.4
|
||||
@@ -132,11 +141,13 @@ class LiveAxisRange:
|
||||
final_range[0] = y_range[0]
|
||||
if final_range[1] < y_range[1]:
|
||||
final_range[1] = y_range[1]
|
||||
- if final_range[0] == final_range[1]:
|
||||
+
|
||||
+ if final_range[0] == final_range[1] and self.y_range_width is None:
|
||||
+ if final_range[0] == final_range[1] and self.x_min_range_width is not None:
|
||||
# Pyqtgraph ViewBox.setRange doesn't like same value for min and max,
|
||||
# therefore in that case we must set some range
|
||||
final_range[0] -= 0.4
|
||||
final_range[1] += 0.4
|
||||
+ final_range = self._update_range_width(self.y_bound, self.y_range_width, final_range)
|
||||
+ final_range = self._update_range_width(self.x_range_limit, self.x_min_range_width, final_range)
|
||||
if self.final_x_range != final_range:
|
||||
self.final_x_range = final_range
|
||||
return self.final_x_range
|
||||
@@ -132,11 +142,12 @@ class LiveAxisRange:
|
||||
final_range[0] = y_range[0]
|
||||
if final_range[1] < y_range[1]:
|
||||
final_range[1] = y_range[1]
|
||||
- if final_range[0] == final_range[1]:
|
||||
+ if final_range[0] == final_range[1] and self.y_min_range_width is None:
|
||||
# Pyqtgraph ViewBox.setRange doesn't like same value for min and max,
|
||||
# therefore in that case we must set some range
|
||||
final_range[0] -= 0.4
|
||||
final_range[1] += 0.4
|
||||
+ final_range = self._update_range_width(self.y_range_limit, self.y_min_range_width, final_range)
|
||||
if self.final_y_range != final_range:
|
||||
self.final_y_range = final_range
|
||||
return self.final_y_range
|
||||
@@ -199,6 +210,24 @@ class LiveAxisRange:
|
||||
@@ -155,11 +166,12 @@ class LiveAxisRange:
|
||||
final_range[1] = y_range[1]
|
||||
if final_range is None:
|
||||
final_range = [0, 0]
|
||||
- if final_range[0] == final_range[1]:
|
||||
+ if final_range[0] == final_range[1] and self.y_min_range_width is None:
|
||||
# Pyqtgraph ViewBox.setRange doesn't like same value for min and max,
|
||||
# therefore in that case we must set some range
|
||||
final_range[0] -= 0.4
|
||||
final_range[1] += 0.4
|
||||
+ final_range = self._update_range_width(self.y_range_limit, self.y_min_range_width, final_range)
|
||||
if self.final_y_range != final_range:
|
||||
self.final_y_range = final_range
|
||||
return self.final_y_range
|
||||
@@ -199,6 +211,25 @@ class LiveAxisRange:
|
||||
else:
|
||||
return None
|
||||
|
||||
@ -75,13 +93,14 @@ index cd3a7fc..276c7b6 100755
|
||||
+
|
||||
+ if bound is not None:
|
||||
+ final_range_width = abs(final_range[0] - final_range[1])
|
||||
+ bound_width = abs(bound[0] - bound[1])
|
||||
+ if bound_width < final_range_width:
|
||||
+ if (bound[0] > final_range[1] and bound[0] > final_range[0]) or \
|
||||
+ (bound[1] < final_range[1] and bound[0] < final_range[0]) or \
|
||||
+ (bound[0] > final_range[0] and bound[1] < final_range[1]):
|
||||
+ final_range = bound
|
||||
+ if final_range[0] <= bound[0]:
|
||||
+ final_range = [bound[0], bound[0] + final_range_width]
|
||||
+ elif final_range[1] >= bound[1]:
|
||||
+ final_range = [bound[0] - final_range_width, bound[1]]
|
||||
+ elif bound[1] > final_range[0] and final_range[0] > bound[0]:
|
||||
+ final_range = [max(bound[1] - final_range_width, bound[0]), bound[1]]
|
||||
+ elif bound[0] < final_range[1] and final_range[1] < bound[1]:
|
||||
+ final_range = [bound[0], min(bound[0] + final_range_width, bound[1])]
|
||||
+ return final_range
|
||||
+
|
||||
def ignore_connector(self, data_connector, flag: bool) -> None:
|
||||
|
@ -203,7 +203,7 @@ class Graphs:
|
||||
pd_mon_pwr_axis = LiveAxis('left', text="Power", units="W")
|
||||
pd_mon_pwr_axis.showLabel()
|
||||
# Laser Diode Power Reading Graph Range Width: 5mW
|
||||
pd_mon_pwr_graph.y_range_controller = LiveAxisRange(y_range_width=0.005, y_bound=[0.0, float("inf")])
|
||||
pd_mon_pwr_graph.y_range_controller = LiveAxisRange(y_min_range_width=0.005, y_range_limit=[0.0, float("inf")])
|
||||
pd_mon_pwr_graph.setAxisItems({'left': pd_mon_pwr_axis})
|
||||
pd_mon_pwr_graph.addItem(self._pd_mon_pwr_plot)
|
||||
self.pd_mon_pwr_connector = DataConnector(self._pd_mon_pwr_plot, plot_rate=10.0, update_rate=10.0, max_points=self.max_samples)
|
||||
@ -212,7 +212,7 @@ class Graphs:
|
||||
tec_temp_axis = LiveAxis('left', text="Temperature", units="℃")
|
||||
tec_temp_axis.showLabel()
|
||||
# TEC Temperature Reading Graph Range Width: 2.5mK
|
||||
tec_temp_graph.y_range_controller = LiveAxisRange(y_range_width=0.0025)
|
||||
tec_temp_graph.y_range_controller = LiveAxisRange(y_min_range_width=0.0025)
|
||||
tec_temp_graph.setAxisItems({'left': tec_temp_axis})
|
||||
tec_temp_graph.addItem(self._tec_setpoint_plot)
|
||||
tec_temp_graph.addItem(self._tec_temp_plot)
|
||||
@ -227,7 +227,7 @@ class Graphs:
|
||||
tec_i_graph.addItem(self._tec_i_target_plot)
|
||||
tec_i_graph.addItem(self._tec_i_measure_plot)
|
||||
# TEC Output Current Reading Graph Range Width: 50mA
|
||||
tec_i_graph.y_range_controller = LiveAxisRange(y_range_width=0.05)
|
||||
tec_i_graph.y_range_controller = LiveAxisRange(y_min_range_width=0.05)
|
||||
self.tec_i_target_connector = DataConnector(self._tec_i_target_plot, plot_rate=10.0, update_rate=10.0, max_points=self.max_samples)
|
||||
self.tec_i_measure_connector = DataConnector(self._tec_i_measure_plot, plot_rate=10.0, update_rate=10.0, max_points=self.max_samples)
|
||||
self.connectors += [self.tec_i_target_connector, self.tec_i_measure_connector]
|
||||
|
Loading…
Reference in New Issue
Block a user