bliss issueshttps://gitlab.esrf.fr/bliss/bliss/-/issues2024-03-28T11:44:53+01:00https://gitlab.esrf.fr/bliss/bliss/-/issues/4275flint: No display of ccoords with crosshair activated2024-03-28T11:44:53+01:00Valentin Vallsflint: No display of ccoords with crosshair activatedFeedback from ID11 @wright.
When the crosshair is activated the mouse coords are not displayed (until the data is hovered).
This should display always the coords.
This have to be fixed in BLISS 2.0 and master.Feedback from ID11 @wright.
When the crosshair is activated the mouse coords are not displayed (until the data is hovered).
This should display always the coords.
This have to be fixed in BLISS 2.0 and master.version 2.0.xValentin VallsValentin Vallshttps://gitlab.esrf.fr/bliss/bliss/-/issues/4241optimize toolbox.py:sort_counter_by_dependency_level2024-03-07T13:02:22+01:00Damien Naudetoptimize toolbox.py:sort_counter_by_dependency_level
Depending on the setup, **sort_counter_by_dependency_level** can take a very long time (2.5s on bm16) because it can call CounterController.counters thousands of times.
Tested the following on bm16, a simple ct(0.1) went from 4.5s to 2...
Depending on the setup, **sort_counter_by_dependency_level** can take a very long time (2.5s on bm16) because it can call CounterController.counters thousands of times.
Tested the following on bm16, a simple ct(0.1) went from 4.5s to 2.3s:
```
def sort_counter_by_dependency_level(counters):
cnt_dict = {cnt: cnt._counter_controller.counters
for cnt in counters}
def cmp_sort2(cnt1, cnt2):
cnt1_cntrs = cnt_dict[cnt1]
cnt2_cntrs = cnt_dict[cnt2]
if cnt1 in cnt2_cntrs:
return -1
elif cnt2 in cnt1_cntrs:
return 1
else:
return len(cnt1_cntrs) - len(cnt2_cntrs)https://gitlab.esrf.fr/bliss/bliss/-/issues/4195print from thread are not properly displayed2024-02-04T16:50:55+01:00Valentin Vallsprint from thread are not properly displayedProbably because of the trick used for multi session, the print called from a thread is not anymore working.
A work around is the following. The
```
current_greenlet = gevent.getcurrent()
output = current_greenlet.spawn_tree_l...Probably because of the trick used for multi session, the print called from a thread is not anymore working.
A work around is the following. The
```
current_greenlet = gevent.getcurrent()
output = current_greenlet.spawn_tree_locals.get("output")
class Check(threading.Thread):
def run(self):
print("check?", file=output)
t = Check()
t.start()
```version 2.1.0https://gitlab.esrf.fr/bliss/bliss/-/issues/4190bm05: Failed/running scans in HDF52024-01-31T18:28:48+01:00Valentin Vallsbm05: Failed/running scans in HDF5Found that some datasets in HDF5 was not properly saved at BM05. BLISS 1.11.x.
Looking at the HDF5 some was still flagged as `RUNNING` or have missing data and flagged as `FAILED`.
Here is some logs of my converter tool.
```
Process /d...Found that some datasets in HDF5 was not properly saved at BM05. BLISS 1.11.x.
Looking at the HDF5 some was still flagged as `RUNNING` or have missing data and flagged as `FAILED`.
Here is some logs of my converter tool.
```
Process /data/visitor/blc15138/bm05/20240101/RAW_DATA/zscan_nut_HA900_3.28um_0003/blc15138_zscan_nut_HA900_3.28um_0003.h5
WARNING:h5-to-edf:Scan group zscan_nut_HA900_3.28um_0003_0001_1.1 not over
Process /data/visitor/blc15138/bm05/20240101/RAW_DATA/zscan_nut_HA900_3.28um_0006/blc15138_zscan_nut_HA900_3.28um_0006.h5
WARNING:h5-to-edf:Scan group zscan_nut_HA900_3.28um_0006_0001_1.1 not successed (FAILED)
Process /data/visitor/blc15138/bm05/20240101/RAW_DATA/zscan_nut_HA900_3.28um_0007/blc15138_zscan_nut_HA900_3.28um_0007.h5
WARNING:h5-to-edf:Scan group zscan_nut_HA900_3.28um_0007_0001_4.1 not over
Process /data/visitor/blc15138/bm05/20240101/RAW_DATA/zscan_nut_HA900_3.28um_0008/blc15138_zscan_nut_HA900_3.28um_0008.h5
WARNING:h5-to-edf:Scan group zscan_nut_HA900_3.28um_0008_0001_4.1 not successed (FAILED)
Process /data/visitor/blc15138/bm05/20240101/RAW_DATA/zscan_nut_HA900_3.28um_0009/blc15138_zscan_nut_HA900_3.28um_0009.h5
WARNING:h5-to-edf:Scan group zscan_nut_HA900_3.28um_0009_0001_1.1 not over
Process /data/visitor/blc15138/bm05/20240101/RAW_DATA/zscan_nut_HA900_3.28um_0010/blc15138_zscan_nut_HA900_3.28um_0010.h5
WARNING:h5-to-edf:Scan group zscan_nut_HA900_3.28um_0010_0001_4.1 not over
Process /data/visitor/blc15138/bm05/20240101/RAW_DATA/zscan_nut_HA900_3.28um_0011/blc15138_zscan_nut_HA900_3.28um_0011.h5
WARNING:h5-to-edf:Scan group zscan_nut_HA900_3.28um_0011_0001_1.1 not successed (FAILED)
Process /data/visitor/blc15138/bm05/20240101/RAW_DATA/zscan_nut_HA900_3.28um_0012/blc15138_zscan_nut_HA900_3.28um_0012.h5
WARNING:h5-to-edf:Scan group zscan_nut_HA900_3.28um_0012_0001_1.1 not successed (FAILED)
Process /data/visitor/blc15138/bm05/20240101/RAW_DATA/zscan_nut_HA900_3.28um_0013/blc15138_zscan_nut_HA900_3.28um_0013.h5
WARNING:h5-to-edf:Scan group zscan_nut_HA900_3.28um_0013_0001_1.1 not over
Process /data/visitor/blc15138/bm05/20240101/RAW_DATA/zscan_nut_HA900_3.28um_0014/blc15138_zscan_nut_HA900_3.28um_0014.h5
WARNING:h5-to-edf:Scan group zscan_nut_HA900_3.28um_0014_0001_4.1 not successed (FAILED)
```
Here is a discrepency, everything is supposed to be 6000
![image](/uploads/d90fceb5b35973f6ab9a570d68da0399/image.png)
According to @muzelle is maybe because of the tomo sinogram and the redis channel limitation in BLISS 1.11.
Also the control machine is a new one.
There is maybe something to tune at some places.https://gitlab.esrf.fr/bliss/bliss/-/issues/4162axis group: Relative dial (or user) motion is probably wrong2024-01-22T20:39:20+01:00Valentin Vallsaxis group: Relative dial (or user) motion is probably wrongLooking at the standard function if one use
```
move(axis, 0.1, dial=True, relative=True)
```
The motion will be wrong if the `axis.sign` is -1
One of the user relative or dial relative will be wrong.
https://gitlab.esrf.fr/bliss/bli...Looking at the standard function if one use
```
move(axis, 0.1, dial=True, relative=True)
```
The motion will be wrong if the `axis.sign` is -1
One of the user relative or dial relative will be wrong.
https://gitlab.esrf.fr/bliss/bliss/-/blob/master/bliss/common/standard.py?ref_type=heads#L361
This have to be checkedhttps://gitlab.esrf.fr/bliss/bliss/-/issues/4145BlissMotorController: hardware init methods not called2024-01-22T14:37:34+01:00Damien NaudetBlissMotorController: hardware init methods not calledHola,
I've been using BlissMotorController and it seems that the following methods are not called on the server (BlissMotorController) side:
* initialize_hardware_axis
* initialize_hardware
Maybe because the following **Cache** setting...Hola,
I've been using BlissMotorController and it seems that the following methods are not called on the server (BlissMotorController) side:
* initialize_hardware_axis
* initialize_hardware
Maybe because the following **Cache** settings are used with the same names on both the server (BlissMotorController) and client (bliss) side.
* __initialized_hw_axis (-> Cache(axis, "initialized", default_value=0))
* __initialized_hw = Cache(self, "initialized", default_value=False)https://gitlab.esrf.fr/bliss/bliss/-/issues/4129Beam shutter.open() does not open the beam shutter.2024-01-16T21:08:37+01:00Jonathan WrightBeam shutter.open() does not open the beam shutter.I guess you know this problem, but I am having a campaign to "scratch the itch", and let you know what the problems are.
```
TDXRD [120]: sheh3.open()
TDXRD [121]: sheh3
Out [121]: SafetyShutter `sheh3` (id11/v-bsh/2): Hutch not searc...I guess you know this problem, but I am having a campaign to "scratch the itch", and let you know what the problems are.
```
TDXRD [120]: sheh3.open()
TDXRD [121]: sheh3
Out [121]: SafetyShutter `sheh3` (id11/v-bsh/2): Hutch not searched
Pneumatic Beam Shutter is closed
- pss search broken in downstream hutch
```
So I asked to open the shutter. It did not open. It did not complain. It just did nothing. That is not what I want. Either keep trying to open while waiting for the search timer to finish, either tell me to do that. Or tell me the command I should use instead.
Thanks!version 1.11.xhttps://gitlab.esrf.fr/bliss/bliss/-/issues/4073amesh test: lima tries to overwrite EDF file2024-01-23T15:38:48+01:00Wout De Nolfamesh test: lima tries to overwrite EDF filehttps://gitlab.esrf.fr/bliss/bliss/-/jobs/893653
The test does a single scan in a fresh directory. The lima traceback says it tried to overwrite the first file of the scan
```python
[2023/12/19 20:21:50.019606] 7f91d5ffb700 *Applicatio...https://gitlab.esrf.fr/bliss/bliss/-/jobs/893653
The test does a single scan in a fresh directory. The lima traceback says it tried to overwrite the first file of the scan
```python
[2023/12/19 20:21:50.019606] 7f91d5ffb700 *Application*Lima.Server.LimaCCDs::LimaCCDs::read_acc_saturated_cblevel-Error: Accumulation threshold plugins not loaded
[2023/12/19 20:21:50.067694] 7f4845606700 *Application*Lima.Server.LimaCCDs::LimaCCDs::read_acc_saturated_cblevel-Error: Accumulation threshold plugins not loaded
[2023/12/19 20:21:50.397224] 7f91d5ffb700 *Application*Lima.Server.LimaCCDs::LimaCCDs::read_acc_saturated_cblevel-Error: Accumulation threshold plugins not loaded
[2023/12/19 20:21:50.405403] 7f4845606700 *Application*Lima.Server.LimaCCDs::LimaCCDs::read_acc_saturated_cblevel-Error: Accumulation threshold plugins not loaded
[2023/12/19 20:21:51.709584] 7f4846e09700 *Control*Control::Saving::_setSavingError (control/src/CtSaving.cpp:1992)-Error: m_ctrl.m_status=<AcquisitionStatus=AcqFault, Error=Save overwrite error, ImageCounters=<LastImageAcquired=0, LastBaseImageReady=0, LastImageReady=0, LastImageSaved=-1, LastCounterReady=-1>, saving_mode=Auto frame
[2023/12/19 20:21:51.709695] 7f4846e09700 *Control*Control::Saving Container::open (control/src/CtSaving.cpp:2733)-Error: Exception(Error): Try to over write file: /tmp/pytest-of-root/pytest-0/test_nxw_amesh_nopolicy0/nexus_writer_session/scan0001/lima_simulator2_0000.edf [thrown]
[2023/12/19 20:21:51.711150] 7f4846e09700 *Control*Control::Event::reportEvent (control/src/CtEvent.cpp:133)-Error: *event=<Event [0.162644]: Severity=Error, Domain=Saving, Code=Default: Unknowed exception!>
```
In the mean time the internal writer tries to read the lima edf's which are expected to be saved, in order to copy the content to HDF5 and fails
```python
...
File "/opt/conda/envs/default_env/lib/python3.9/site-packages/bliss/scanning/writer/base.py", line 221, in __call__
self._callback(event_dict, signal, sender)
File "/opt/conda/envs/default_env/lib/python3.9/site-packages/bliss/scanning/writer/internal.py", line 30, in wrapper
return method(self, *args, **kw)
File "/opt/conda/envs/default_env/lib/python3.9/site-packages/bliss/scanning/writer/internal.py", line 118, in _on_event
self._scan_writer.add_channel_data(channel, data)
File "/builds/bliss/bliss/nexus_writer_service/writer/main.py", line 277, in add_channel_data
self._add_data_to_writer(subscan, channel, writer, data)
File "/builds/bliss/bliss/nexus_writer_service/writer/main.py", line 346, in _add_data_to_writer
self._add_lima_data(writer, lima_client, use_references)
File "/builds/bliss/bliss/nexus_writer_service/writer/main.py", line 375, in _add_lima_data
images = lima_client[from_index:]
File "/opt/conda/envs/default_env/lib/python3.9/site-packages/blissdata/lima/client.py", line 224, in __getitem__
return self._get_slice(key)
File "/opt/conda/envs/default_env/lib/python3.9/site-packages/blissdata/lima/client.py", line 255, in _get_slice
return np.array([self._get_index(i) for i in key_range])
File "/opt/conda/envs/default_env/lib/python3.9/site-packages/blissdata/lima/client.py", line 255, in <listcomp>
return np.array([self._get_index(i) for i in key_range])
File "/opt/conda/envs/default_env/lib/python3.9/site-packages/blissdata/lima/client.py", line 238, in _get_index
return self._get_from_file(frame_id)
File "/opt/conda/envs/default_env/lib/python3.9/site-packages/blissdata/lima/client.py", line 295, in _get_from_file
return image_utils.image_from_file(
File "/opt/conda/envs/default_env/lib/python3.9/site-packages/blissdata/lima/image_utils.py", line 467, in image_from_file
return f.GetData(image_index)
File "/opt/conda/envs/default_env/lib/python3.9/site-packages/silx/third_party/EdfFile.py", line 534, in GetData
return self._GetData(*var, **kw)
File "/opt/conda/envs/default_env/lib/python3.9/site-packages/silx/third_party/EdfFile.py", line 570, in _GetData
raise ValueError("EdfFile: Index out of limit")
ValueError: EdfFile: Index out of limit
```Lucas FelixLucas Felixhttps://gitlab.esrf.fr/bliss/bliss/-/issues/3971flint: Can't launch anymore flint from the shell2023-11-28T09:18:37+01:00Valentin Vallsflint: Can't launch anymore flint from the shellNoticed at BM18.
Flint was closed at this time.
```
OH1 [5]: flint()
!!! === OSError: [Errno 107] Transport endpoint is not connected === !!! ( for more details type cmd 'last_error(3)' )
OH1 [6]: flint()
!!! === OSError: [Errno 107] T...Noticed at BM18.
Flint was closed at this time.
```
OH1 [5]: flint()
!!! === OSError: [Errno 107] Transport endpoint is not connected === !!! ( for more details type cmd 'last_error(3)' )
OH1 [6]: flint()
!!! === OSError: [Errno 107] Transport endpoint is not connected === !!! ( for more details type cmd 'last_error(4)' )
OH1 [7]: last_error()
23/10/2023 19:19:08
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/blissadm/local/bliss.git/bliss/shell/standard.py", line 1174, in flint
proxy = plot_module.get_flint(creation_allowed=True, mandatory=True)
File "/home/blissadm/local/bliss.git/bliss/flint/client/proxy.py", line 788, in get_flint
state = proxy._proxy_get_flint_state(timeout=2)
File "/home/blissadm/local/bliss.git/bliss/flint/client/proxy.py", line 101, in _proxy_get_flint_state
proxy.get_bliss_version()
File "/home/blissadm/local/bliss.git/bliss/comm/rpc.py", line 462, in method
return client._call__("call", args, kwargs)
File "/home/blissadm/local/bliss.git/bliss/comm/rpc.py", line 638, in _call__
self._socket.sendall(msg)
OSError: [Errno 107] Transport endpoint is not connected
OH1 [8]:
```version 2.1.0https://gitlab.esrf.fr/bliss/bliss/-/issues/3965wid does not display anything from the undulator while undulator are not reac...2023-10-13T18:07:08+02:00Valentin Vallswid does not display anything from the undulator while undulator are not reached once```
OH [1]: wid()
---------------------------------------
ID Device Server //acs.esrf.fr:10000/id/master/id06
Power: 0.025 / 10.0 kW
Power density: 3.234 / 310.0 kW/mr2
```
You can see that it is empty
Let'...```
OH [1]: wid()
---------------------------------------
ID Device Server //acs.esrf.fr:10000/id/master/id06
Power: 0.025 / 10.0 kW
Power density: 3.234 / 310.0 kW/mr2
```
You can see that it is empty
Let's trig an undulator which was already part of the session
```
OH [2]: u18u
Out [2]: AXIS:
name (R): cpmu18a
unit (R): None
offset (R): 0.00000
backlash (R): 0.00000
sign (R): 1
steps_per_unit (R): 1.00
tolerance (R) (to check pos. before a move): 0.001
motion_hooks (R): []
limits (RW): Low: 0.01000 High: 500.00000 (config Low: 0.01000 High: 500.00000)
dial (RW): nan
position (RW): nan
state (R): DISABLED (Axis cannot move)
acceleration: None
velocity: None
CONTROLLER:
ESRF_Undulator_10656fc622c9c0adb3873bdf02b664b7
type cpmu18a.controller for more information
TANGO DEVICE SERVER VALUES:
state = DISABLED (Axis cannot move)
CPMU18a_GAP_Position = - mm
CPMU18a_GAP_Velocity = - mm/s
CPMU18a_GAP_FirstVelocity = - mm/s
CPMU18a_GAP_Acceleration = - mm/s/s
ENCODER:
None
CLOSED LOOP:
None
OH [3]: wid()
---------------------------------------
ID Device Server //acs.esrf.fr:10000/id/master/id06
Power: 0.025 / 10.0 kW
Power density: 3.234 / 310.0 kW/mr2
cpmu18a - - DISABLED
```
wid displayes now something
let's trig another undulator
```
OH [4]: u27d
Out [4]: AXIS:
name (R): u27c
unit (R): None
offset (R): 0.00000
backlash (R): 0.00000
sign (R): 1
steps_per_unit (R): 1.00
tolerance (R) (to check pos. before a move): 0.001
motion_hooks (R): []
limits (RW): Low: 0.01000 High: 500.00000 (config Low: 0.01000 High: 500.00000)
dial (RW): nan
position (RW): nan
state (R): DISABLED (Axis cannot move)
acceleration: None
velocity: None
CONTROLLER:
ESRF_Undulator_10656fc622c9c0adb3873bdf02b664b7
type u27c.controller for more information
TANGO DEVICE SERVER VALUES:
state = DISABLED (Axis cannot move)
U27c_GAP_Position = - mm
U27c_GAP_Velocity = - mm/s
U27c_GAP_FirstVelocity = - mm/s
U27c_GAP_Acceleration = - mm/s/s
ENCODER:
None
CLOSED LOOP:
None
OH [5]: wid()
---------------------------------------
ID Device Server //acs.esrf.fr:10000/id/master/id06
Power: 0.025 / 10.0 kW
Power density: 3.234 / 310.0 kW/mr2
cpmu18a - - DISABLED
u27c - - DISABLED
```
Now both are displayedhttps://gitlab.esrf.fr/bliss/bliss/-/issues/3951Wago (beacon) lock timeout2024-03-25T13:13:11+01:00Samuel DebionneWago (beacon) lock timeoutWith a Wago exported in two sessions `eh2_exp` and `eh2_optics`, the Wago works from `eh2_exp` and timeouts on a beacon lock when used from `eh2_optics`:
```
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
Fil...With a Wago exported in two sessions `eh2_exp` and `eh2_optics`, the Wago works from `eh2_exp` and timeouts on a beacon lock when used from `eh2_optics`:
```
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/blissadm/local/id10.git/id10/controllers/eh2_attenuators.py", line 307, in set
(currmask,currpos) = self.get()
File "/home/blissadm/local/id10.git/id10/controllers/eh2_attenuators.py", line 222, in get
inpos = self._wago_get(self.stat_id[0])
File "/home/blissadm/local/id10.git/id10/controllers/eh2_attenuators.py", line 380, in _wago_get
return [int(i) for i in self.wago.get(channel)]
File "/home/blissadm/local/bliss.git/bliss/config/conductor/client.py", line 84, in func
with Lock(self, **params):
File "/home/blissadm/local/bliss.git/bliss/config/conductor/client.py", line 66, in __enter__
lock(*self._devices, **self._params)
File "/home/blissadm/local/bliss.git/bliss/config/conductor/client.py", line 50, in f
return func(*args, **keys)
File "/home/blissadm/local/bliss.git/bliss/config/conductor/client.py", line 95, in lock
params["connection"].lock(*devices_name, **params)
File "/home/blissadm/local/bliss.git/bliss/config/conductor/connection.py", line 33, in f
return func(self, *args, **keys)
File "/home/blissadm/local/bliss.git/bliss/config/conductor/connection.py", line 263, in lock
status = wait_lock.get()
File "/home/blissadm/local/bliss.git/bliss/config/conductor/connection.py", line 81, in get
return self._queue.get()
RuntimeError: lock timeout (('wcid10i',))
```
The `set` and `get` functions of the Wago controller are decorated with `@synchronized` that wraps the function with a `with Lock(...):` context manager.
@sebastien.petitdemange thinks it might happen if a `Ctrl+C` is issued while the lock is taken, in which case the context manager never release the lock (the refcount is not decremented).https://gitlab.esrf.fr/bliss/bliss/-/issues/3911elmo: Axis can stay in MOVING state2024-01-12T15:47:12+01:00Valentin Vallselmo: Axis can stay in MOVING stateNoticed multiple time at BM05.
```
MRTOMO [1]: srot ...Noticed multiple time at BM05.
```
MRTOMO [1]: srot
Out [1]: AXIS:
name (R): srot_eh2
unit (R): deg
offset (R): 0.00000
backlash (R): 0.00000
sign (R): 1
steps_per_unit (R): 11111.11
tolerance (R) (to check pos. before a move): 0.0001
motion_hooks (R):
<tomo.helpers.sample_stage_motion_hook.SampleStageMotionHook object at 0x7fbe563a36a0>
limits (RW): Low: -inf High: inf (config Low: -inf High: inf)
dial (RW): 50.11560
position (RW): 50.11560
state (R): MOVING (Axis is MOVING)
acceleration (RW): 79.99992 (config: 80.00000)
acctime (RW): 1.00000 (config: 0.50000)
velocity (RW): 79.99992 (config: 40.00000)
velocity_low_limit (RW): inf (config: inf)
velocity_high_limit (RW): inf (config: inf)
ELMO CONTROLLER
version: Whistle 01.01.15.00 09Oct2018B00G
comm: SERIAL type=TANGO url=tango://d05/serialrp_0/30_0
timeout(s)=5.0 eol=';'
ERROR: Unable to get axis info from controller
ENCODER:
None
CLOSED LOOP:
None
MRTOMO [2]: srot.state
Out [2]: AxisState: MOVING (Axis is MOVING)
MRTOMO [3]: srot.controller.state(srot)
Out [3]: AxisState: MOVING (Axis is MOVING)
```
```
MRTOMO [4]: srot.sync_hard()
MRTOMO [5]: srot.controller.state(srot)
Out [5]: AxisState: MOVING (Axis is MOVING)
MRTOMO [6]: srot.state
Out [6]: AxisState: MOVING (Axis is MOVING)
```https://gitlab.esrf.fr/bliss/bliss/-/issues/3859Ctrl+C fails to abort scan, multiple Ctrl+C needed2024-01-22T16:06:27+01:00Samuel DebionneCtrl+C fails to abort scan, multiple Ctrl+C neededOn ID10, `eh1_exp1`
```
EH1_EXP [1]: loopscan(10, 1.0, fx1_eh1, save=False)
```
Ctrl+C fails to abort scan. Pressing 4 times Ctrl+C is required to abort.
After the first Ctrl+C, the scan loop is stuck in `wait_all_devices`.On ID10, `eh1_exp1`
```
EH1_EXP [1]: loopscan(10, 1.0, fx1_eh1, save=False)
```
Ctrl+C fails to abort scan. Pressing 4 times Ctrl+C is required to abort.
After the first Ctrl+C, the scan loop is stuck in `wait_all_devices`.https://gitlab.esrf.fr/bliss/bliss/-/issues/3842BLISS 1.11: Fail to get_data if axis data was trimmed2023-07-17T10:00:06+02:00Valentin VallsBLISS 1.11: Fail to get_data if axis data was trimmedWith an fscan of 7000 points, it was not possible to get back the axis data.
Feedback from ID11 (@wright). For now they will do a scan with less points.
Maybe that's a regression in fscan or in bliss?
![image](/uploads/2dcaf08c9b71796...With an fscan of 7000 points, it was not possible to get back the axis data.
Feedback from ID11 (@wright). For now they will do a scan with less points.
Maybe that's a regression in fscan or in bliss?
![image](/uploads/2dcaf08c9b717968707b6c7c5d2f4e61/image.png)
- With less points, redis is able to return the data.
- And `axis:` is not a common key in HDF5 files
So i don't really know where to put the responsibility of renaming `axis:dty` into `dty`.version 1.11.xhttps://gitlab.esrf.fr/bliss/bliss/-/issues/3814Keithley: meas_func: VOLT fail in an hidden way if it is not supported2023-06-21T17:12:12+02:00Valentin VallsKeithley: meas_func: VOLT fail in an hidden way if it is not supportedI was trying to setup `meas_func: VOLT` for a Keithley 6487, for ID01.
But the controller was always exposing `meas_func: CURR`.
In fact this controller dosn't support `VOLT`.
I would prefer it to fail at the initialisation with somet...I was trying to setup `meas_func: VOLT` for a Keithley 6487, for ID01.
But the controller was always exposing `meas_func: CURR`.
In fact this controller dosn't support `VOLT`.
I would prefer it to fail at the initialisation with something like:
```
raise RuntimeError(f"The controlller {name} (model {model}) dosn't support meas_func=VOLT")
```https://gitlab.esrf.fr/bliss/bliss/-/issues/3793Calc axis cannot be shared between session2023-06-27T17:40:28+02:00Sebastien PetitdemangeCalc axis cannot be shared between sessionIt seams since 1.10, a axis position cache was added (**_real_pos_cache**) in the calc motor controller. This prevent to share position of axis across session.
i.e: if you move a calc axis in session B, the position of this calc axis is...It seams since 1.10, a axis position cache was added (**_real_pos_cache**) in the calc motor controller. This prevent to share position of axis across session.
i.e: if you move a calc axis in session B, the position of this calc axis is wrong in the other session.Matias GuijarroMatias Guijarrohttps://gitlab.esrf.fr/bliss/bliss/-/issues/3700get_acq_metadata of counters not at the right place2023-02-24T16:02:18+01:00Perceval Guillouget_acq_metadata of counters not at the right placeToday the generic code to gather counters metadata is in `BaseCounterAcquisitionSlave` so it only affect sampling and integrating counters.
The following piece of code should be moved to `AcquisitionSlave` class or { `AcquisitionObject`...Today the generic code to gather counters metadata is in `BaseCounterAcquisitionSlave` so it only affect sampling and integrating counters.
The following piece of code should be moved to `AcquisitionSlave` class or { `AcquisitionObject` + checking `AcquisitionMaster` implementation }
```python
def get_acquisition_metadata(self, timing=None):
tmp_dict = super().get_acquisition_metadata(timing=timing)
if timing != self.META_TIMING.PREPARED:
return tmp_dict
for cnt in self._counters:
if isinstance(cnt, HasMetadataForScan):
mdata = cnt.scan_metadata()
if mdata is not None:
if tmp_dict is None:
tmp_dict = dict()
deep_update(tmp_dict, mdata)
return tmp_dict
```
Also, this `deep_update(tmp_dict, mdata)` is not good because if 2 counters have the same keys in scan_metadata they are overwritten when
added to the scan_metadata of the device owning counters.
It should be `tmp_dict[cnt.name]=mdata` insteadPerceval GuillouPerceval Guillouhttps://gitlab.esrf.fr/bliss/bliss/-/issues/3672shell: Jedi can slow down a lot the typing2023-12-06T19:31:00+01:00Valentin Vallsshell: Jedi can slow down a lot the typingProbably because ptpython is patched, jedi can take a lot of time to provide auto-completion.
I guess, previously it was handled with a thread, or there was a way to cancel it.
It would be good to check if the call from ptpython could ...Probably because ptpython is patched, jedi can take a lot of time to provide auto-completion.
I guess, previously it was handled with a thread, or there was a way to cancel it.
It would be good to check if the call from ptpython could be wrapped with a gevent timeout.version 2.1.0https://gitlab.esrf.fr/bliss/bliss/-/issues/3616scaninfo: Device describe in scaninfo have different name between different s...2023-11-28T09:19:20+01:00Valentin Vallsscaninfo: Device describe in scaninfo have different name between different scansThe aim of the device was to have a stable reference between scans.
It looks to not be the case.
probably this field is feed from acqobj which change for every scans. That's probably not a good idea.The aim of the device was to have a stable reference between scans.
It looks to not be the case.
probably this field is feed from acqobj which change for every scans. That's probably not a good idea.version 2.1.0https://gitlab.esrf.fr/bliss/bliss/-/issues/3598TangoShutter: state_string is not a string2022-12-15T18:20:31+01:00Valentin VallsTangoShutter: state_string is not a stringDespite the specification TangoShutter `.state_string` returns a tuple instea dof a string.
Could we just concatenate that stuff?
`state_string` is IMO not a good idea anyway. It mixes UI and control.Despite the specification TangoShutter `.state_string` returns a tuple instea dof a string.
Could we just concatenate that stuff?
`state_string` is IMO not a good idea anyway. It mixes UI and control.