bec-widgets 1.24.5__py3-none-any.whl → 1.25.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
CHANGELOG.md CHANGED
@@ -1,6 +1,14 @@
1
1
  # CHANGELOG
2
2
 
3
3
 
4
+ ## v1.25.0 (2025-03-07)
5
+
6
+ ### Features
7
+
8
+ - **waveform**: Add slice handling and reset functionality for async updates
9
+ ([`7cbebbb`](https://gitlab.psi.ch/bec/bec_widgets/-/commit/7cbebbb1f00ea2e2b3678c96b183a877e59c5240))
10
+
11
+
4
12
  ## v1.24.5 (2025-03-06)
5
13
 
6
14
  ### Bug Fixes
PKG-INFO CHANGED
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bec_widgets
3
- Version: 1.24.5
3
+ Version: 1.25.0
4
4
  Summary: BEC Widgets
5
5
  Project-URL: Bug Tracker, https://gitlab.psi.ch/bec/bec_widgets/issues
6
6
  Project-URL: Homepage, https://gitlab.psi.ch/bec/bec_widgets
@@ -126,6 +126,8 @@ class BECWaveform(BECPlotBase):
126
126
  "label_suffix": "",
127
127
  }
128
128
 
129
+ self._slice_index = None
130
+
129
131
  # Scan segment update proxy
130
132
  self.proxy_update_plot = pg.SignalProxy(
131
133
  self.scan_signal_update, rateLimit=25, slot=self._update_scan_curves
@@ -1252,7 +1254,9 @@ class BECWaveform(BECPlotBase):
1252
1254
  x_data = None
1253
1255
  instruction = metadata.get("async_update", {}).get("type")
1254
1256
  max_shape = metadata.get("async_update", {}).get("max_shape", [])
1255
- for curve in self._curves_data["async"].values():
1257
+ all_async_curves = self._curves_data["async"].values()
1258
+ # for curve in self._curves_data["async"].values():
1259
+ for curve in all_async_curves:
1256
1260
  y_entry = curve.config.signals.y.entry
1257
1261
  x_name = self._x_axis_mode["name"]
1258
1262
  for device, async_data in msg["signals"].items():
@@ -1276,6 +1280,18 @@ class BECWaveform(BECPlotBase):
1276
1280
  curve.setData(x_data, new_data)
1277
1281
  else:
1278
1282
  curve.setData(new_data)
1283
+ elif instruction == "add_slice":
1284
+ current_slice_id = metadata.get("async_update", {}).get("index")
1285
+ data_plot = async_data["value"]
1286
+ if current_slice_id != self._slice_index:
1287
+ self._slice_index = current_slice_id
1288
+ new_data = data_plot
1289
+ else:
1290
+ x_data, y_data = curve.get_data()
1291
+ new_data = np.hstack((y_data, data_plot))
1292
+
1293
+ curve.setData(new_data)
1294
+
1279
1295
  elif instruction == "replace":
1280
1296
  if x_name == "timestamp":
1281
1297
  x_data = async_data["timestamp"]
@@ -1524,6 +1540,10 @@ class BECWaveform(BECPlotBase):
1524
1540
  for curve_id in curve_ids_to_remove:
1525
1541
  self.remove_curve(curve_id)
1526
1542
 
1543
+ def reset(self):
1544
+ self._slice_index = None
1545
+ super().reset()
1546
+
1527
1547
  def clear_all(self):
1528
1548
  sources = list(self._curves_data.keys())
1529
1549
  for source in sources:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bec_widgets
3
- Version: 1.24.5
3
+ Version: 1.25.0
4
4
  Summary: BEC Widgets
5
5
  Project-URL: Bug Tracker, https://gitlab.psi.ch/bec/bec_widgets/issues
6
6
  Project-URL: Homepage, https://gitlab.psi.ch/bec/bec_widgets
@@ -2,11 +2,11 @@
2
2
  .gitlab-ci.yml,sha256=PuL-FmkTHm7qs467Mh9D8quWcEj4tgEA-UUGDieMuWk,8774
3
3
  .pylintrc,sha256=eeY8YwSI74oFfq6IYIbCqnx3Vk8ZncKaatv96n_Y8Rs,18544
4
4
  .readthedocs.yaml,sha256=aSOc277LqXcsTI6lgvm_JY80lMlr69GbPKgivua2cS0,603
5
- CHANGELOG.md,sha256=qu6q-QB1UAzXW1TvW34P8Fxg7z4qzgzPj64GcNOUutY,233498
5
+ CHANGELOG.md,sha256=HJqyK2AadBuWVygvtwqcZCGOjUhCfHkgJMfNm73Q1Aw,233721
6
6
  LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
7
- PKG-INFO,sha256=4P4wQ_dTjPtB0j6ztaBcGPWVyYeDvbPo0EvMEXHvOok,1173
7
+ PKG-INFO,sha256=pVyd4I1Aaj5u0db3_nzVpYzEzqtdrzJp5TZPao7qE0Q,1173
8
8
  README.md,sha256=KgdKusjlvEvFtdNZCeDMO91y77MWK2iDcYMDziksOr4,2553
9
- pyproject.toml,sha256=jFjyDlhvbrT_dHbirfA8WZLT_zvL0DQNmMpFiJQ8vZs,2540
9
+ pyproject.toml,sha256=MGEv7xThHASP80v37HT-xuqzP7XSttF3vDF0Th8Mq_0,2540
10
10
  .git_hooks/pre-commit,sha256=n3RofIZHJl8zfJJIUomcMyYGFi_rwq4CC19z0snz3FI,286
11
11
  .gitlab/issue_templates/bug_report_template.md,sha256=gAuyEwl7XlnebBrkiJ9AqffSNOywmr8vygUFWKTuQeI,386
12
12
  .gitlab/issue_templates/documentation_update_template.md,sha256=FHLdb3TS_D9aL4CYZCjyXSulbaW5mrN2CmwTaeLPbNw,860
@@ -111,7 +111,7 @@ bec_widgets/widgets/containers/figure/plots/motor_map/motor_map.py,sha256=G59EmA
111
111
  bec_widgets/widgets/containers/figure/plots/multi_waveform/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
112
  bec_widgets/widgets/containers/figure/plots/multi_waveform/multi_waveform.py,sha256=NBVC9mWmeleTfLsfBl1yyMx8L4EgHFcdM9kX20QOJ00,11766
113
113
  bec_widgets/widgets/containers/figure/plots/waveform/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
- bec_widgets/widgets/containers/figure/plots/waveform/waveform.py,sha256=Xs3f0W8XE4-z2Zz5S6b7YTgikSloVo7G3c38ygk2ylo,57913
114
+ bec_widgets/widgets/containers/figure/plots/waveform/waveform.py,sha256=ih1UQ_CT2ab7CFs0L36qyWrOyidoFCnXue48150f7Do,58720
115
115
  bec_widgets/widgets/containers/figure/plots/waveform/waveform_curve.py,sha256=YctH0W8ns03BzYNaG9CR18_2HaNVbzyr7ua5226He2Y,8735
116
116
  bec_widgets/widgets/containers/layout_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
117
117
  bec_widgets/widgets/containers/layout_manager/layout_manager.py,sha256=mPKLWp1ZJtr1K59jJWbpDaWUjGr47QG3-nNrEqo6a0E,33811
@@ -362,8 +362,8 @@ bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button.py,sha256=c
362
362
  bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button.pyproject,sha256=Lbi9zb6HNlIq14k6hlzR-oz6PIFShBuF7QxE6d87d64,34
363
363
  bec_widgets/widgets/utility/visual/dark_mode_button/dark_mode_button_plugin.py,sha256=CzChz2SSETYsR8-36meqWnsXCT-FIy_J_xeU5coWDY8,1350
364
364
  bec_widgets/widgets/utility/visual/dark_mode_button/register_dark_mode_button.py,sha256=rMpZ1CaoucwobgPj1FuKTnt07W82bV1GaSYdoqcdMb8,521
365
- bec_widgets-1.24.5.dist-info/METADATA,sha256=4P4wQ_dTjPtB0j6ztaBcGPWVyYeDvbPo0EvMEXHvOok,1173
366
- bec_widgets-1.24.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
367
- bec_widgets-1.24.5.dist-info/entry_points.txt,sha256=dItMzmwA1wizJ1Itx15qnfJ0ZzKVYFLVJ1voxT7K7D4,214
368
- bec_widgets-1.24.5.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
369
- bec_widgets-1.24.5.dist-info/RECORD,,
365
+ bec_widgets-1.25.0.dist-info/METADATA,sha256=pVyd4I1Aaj5u0db3_nzVpYzEzqtdrzJp5TZPao7qE0Q,1173
366
+ bec_widgets-1.25.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
367
+ bec_widgets-1.25.0.dist-info/entry_points.txt,sha256=dItMzmwA1wizJ1Itx15qnfJ0ZzKVYFLVJ1voxT7K7D4,214
368
+ bec_widgets-1.25.0.dist-info/licenses/LICENSE,sha256=YRKe85CBRyP7UpEAWwU8_qSIyuy5-l_9C-HKg5Qm8MQ,1511
369
+ bec_widgets-1.25.0.dist-info/RECORD,,
pyproject.toml CHANGED
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "bec_widgets"
7
- version = "1.24.5"
7
+ version = "1.25.0"
8
8
  description = "BEC Widgets"
9
9
  requires-python = ">=3.10"
10
10
  classifiers = [