LimaGroup issueshttps://gitlab.esrf.fr/groups/limagroup/-/issues2018-09-21T16:34:03+02:00https://gitlab.esrf.fr/limagroup/Lima-tango-python/-/issues/1bpm-device2018-09-21T16:34:03+02:00Aitor Henrybpm-devicehttps://gitlab.esrf.fr/limagroup/Lima-camera-basler/-/issues/5Manage frame error for B/W camera and continuous acq frame2019-03-20T10:14:31+01:00Laurent ClaustreManage frame error for B/W camera and continuous acq frameA bug has been introduced by not managing the soft buffers when pylon cannot a valid acquire an image (e.g due to lost packets).
The buffer is re-queued to pylon queue letting lima with an invalid image (or the previous one) in the buf...A bug has been introduced by not managing the soft buffers when pylon cannot a valid acquire an image (e.g due to lost packets).
The buffer is re-queued to pylon queue letting lima with an invalid image (or the previous one) in the buffer memory. That create a decrepency between indexes, for instance, if pylon failed at image num 1 and image 2 is ok, image 2 is available in buffer 2 but newFrameReady is fired for image 1, so a client appli requesting image 1 will get buffer 1 where there is a fake image or the previous image due to ring buffer...
We propose to add intermediate small buffer of 2 images, and let pylon only filling the small buffer, then memcopy valid image to the lima bufferv1.8.1Laurent ClaustreLaurent Claustrehttps://gitlab.esrf.fr/limagroup/Lima-camera-marccd/-/issues/1cmake last flavor missing2019-03-13T10:04:21+01:00Laurent Claustrecmake last flavor missingDue to missing YAT SDK to test, this camera plugin was not clean and port to the final version of the cmake pipelineDue to missing YAT SDK to test, this camera plugin was not clean and port to the final version of the cmake pipelinev1.8Laurent ClaustreLaurent Claustrehttps://gitlab.esrf.fr/limagroup/Lima-camera-basler/-/issues/8add TestImage control2019-03-20T10:11:58+01:00Laurent Claustreadd TestImage controlIn Pylon sdk TestImageSelector can be used to acquire an fake image. Depending of the camera up to 7 different test image can be selectedIn Pylon sdk TestImageSelector can be used to acquire an fake image. Depending of the camera up to 7 different test image can be selectedv1.8.1Laurent ClaustreLaurent Claustrehttps://gitlab.esrf.fr/limagroup/lima2/-/issues/60Define the Frame type2020-09-01T11:31:35+02:00Samuel DebionneDefine the Frame typeFrame type should be camera specific and specialized with:
- The pixel types supported the camera (already the case)
- Some camera specific metadata (fpga_frame_idx, bunch_id) from the SDK
I suggest to start with something like:
```c...Frame type should be camera specific and specialized with:
- The pixel types supported the camera (already the case)
- Some camera specific metadata (fpga_frame_idx, bunch_id) from the SDK
I suggest to start with something like:
```c++
template< typename Pixel, typename Metadata, bool IsPlanar = false, typename Alloc=std::allocator<unsigned char> >
class frame :
public image<Pixel, IsPlanar, Alloc>
{
...
}
```
`frame` is derived from `boost::gil::image`.
`Alloc` is in charge of doing the proper memory management.
`Metadata` is the customization point for plugin metadata.v0.1.0Samuel DebionneSamuel Debionnehttps://gitlab.esrf.fr/limagroup/Processlib/-/issues/9Split CMakeLists into core and tasks.2019-02-20T18:29:29+01:00Samuel DebionneSplit CMakeLists into core and tasks.```
add_subdirectory(core)
add_subdirectory(tasks)
``````
add_subdirectory(core)
add_subdirectory(tasks)
```v2Samuel DebionneSamuel Debionnehttps://gitlab.esrf.fr/limagroup/lima2/-/issues/59Update FSM2020-10-27T11:36:45+01:00Samuel DebionneUpdate FSMSome improvements of the FSM transition table:
* [x] Add `reset` action
* [ ] Add `arm` and `soft_trigger` event
* [ ] Add unhandled expection event `exceptions<>`
```c++
make_transition_table(
*"idle"_s + event<event> / [] { throw s...Some improvements of the FSM transition table:
* [x] Add `reset` action
* [ ] Add `arm` and `soft_trigger` event
* [ ] Add unhandled expection event `exceptions<>`
```c++
make_transition_table(
*"idle"_s + event<event> / [] { throw std::runtime_error{"error"}; }
,*"error_handler"_s + exception<std::runtime_error> = X
, "error_handler"_s + exception<std::logic_error> = X
, "error_handler"_s + exception<> / [] { cleanup...; } = X // any exception
);
```v0.1.0Samuel DebionneSamuel Debionnehttps://gitlab.esrf.fr/limagroup/lima2/-/issues/62Refactor with the Frame and Metadata2022-04-05T18:25:55+02:00Samuel DebionneRefactor with the Frame and MetadataFollowing up #60 and #61, refactor
* [x] The HW Interface
* [x] The Simulator and the other plugins
* [x] The processing part that now depends on the `camera::frame_t`Following up #60 and #61, refactor
* [x] The HW Interface
* [x] The Simulator and the other plugins
* [x] The processing part that now depends on the `camera::frame_t`v0.1.0https://gitlab.esrf.fr/limagroup/lima/-/issues/71Python cleanup2018-11-16T16:15:31+01:00Samuel DebionnePython cleanupI was checking this [PR #81](https://github.com/esrf-bliss/Lima/pull/81) on Github and could not find what `module_helper.py` is for. It does not look like it is installed. In the same vein `python\__init__.py` has code that is never exe...I was checking this [PR #81](https://github.com/esrf-bliss/Lima/pull/81) on Github and could not find what `module_helper.py` is for. It does not look like it is installed. In the same vein `python\__init__.py` has code that is never executed.Samuel DebionneSamuel Debionnehttps://gitlab.esrf.fr/limagroup/lima/-/issues/92MemUtils/SoftBufferAllocMgr: Fix issues when allocating more HW buffers2019-05-03T17:50:43+02:00Samuel DebionneMemUtils/SoftBufferAllocMgr: Fix issues when allocating more HW bufferssee !121see !121v1.8.1Samuel DebionneSamuel Debionnehttps://gitlab.esrf.fr/limagroup/lima2/-/issues/68Add Master / Slaves to RPC framework2021-03-22T10:26:00+01:00Samuel DebionneAdd Master / Slaves to RPC frameworkSometimes we see the relationships of our process as
- clients - server (n to 1)
- master - slaves (1 to n)
Here we introduce the Master / Slaves schema:
0. The world communicator is split according to process role (master or slave)...Sometimes we see the relationships of our process as
- clients - server (n to 1)
- master - slaves (1 to n)
Here we introduce the Master / Slaves schema:
0. The world communicator is split according to process role (master or slave)
1. Commands are broadcasted to every slaves, e.g. `MPI_Bcst`
2. Result values are reduced, e.g. `MPI_Allreduce` in the slaves intracommunicator using a "consensus" function
3. Slave leader sends the result to master, e.g. `MPI_Send`Samuel DebionneSamuel Debionnehttps://gitlab.esrf.fr/limagroup/lima/-/issues/97Issues with BufferCtrlObj::Sync during saving overrun conditions2020-05-11T17:17:33+02:00Alejandro Homs PuronIssues with BufferCtrlObj::Sync during saving overrun conditionsThe PCO camera plugin crashes under several circumstances related to saving overrunThe PCO camera plugin crashes under several circumstances related to saving overrunAlejandro Homs PuronAlejandro Homs Puronhttps://gitlab.esrf.fr/limagroup/lima/-/issues/115Memory corruption error after using CtControl::ImageStatusCallback2020-06-29T10:51:13+02:00Alejandro Homs PuronMemory corruption error after using CtControl::ImageStatusCallbackThe [test_int_trig_mult.py](/uploads/d36e153ac5956bac5b46bf922916b115/test_int_trig_mult.py) program systematically shows memory corruption errors with the Simulator, Eiger, and SlsDetector plugins:
```
Valid ranges:
min_exp_time=0.0...The [test_int_trig_mult.py](/uploads/d36e153ac5956bac5b46bf922916b115/test_int_trig_mult.py) program systematically shows memory corruption errors with the Simulator, Eiger, and SlsDetector plugins:
```
Valid ranges:
min_exp_time=0.0000000, max_exp_time=1000000.0000000
min_lat_time=0.0000000, max_lat_time=1000000.0000000
Starting acquisition ...
Sending start #0
Sending start #1
Sending start #2
Sending start #3
Sending start #4
Sending start #5
Sending start #6
Sending start #7
Sending start #8
Sending start #9
Average trigger_delay=0.078 (0.010 + 0.068)
Acquisition finished -0.000 sec after trigger sequence
[2020/06/08 17:31:48.478623] 7fe06f1de740 *Control*Control::Control::unregisterImageStatusCallback (/users/opid00/esrf/sls_detectors/Lima/control/src/CtControl.cpp:1260)-Always: Unregistering 0x557bb770bc40
double free or corruption (out)
```v1.9.5Alejandro Homs PuronAlejandro Homs Puronhttps://gitlab.esrf.fr/limagroup/lima/-/issues/117manual saving broken with frame number equal -12020-06-29T10:45:21+02:00Laurent Claustremanual saving broken with frame number equal -1When acquiring with manual saving mode, then asking for saving the last frame with -1 as frame number does not workWhen acquiring with manual saving mode, then asking for saving the last frame with -1 as frame number does not workv1.9.5Laurent ClaustreLaurent Claustre