feat: add lmfit for SimMonitor, refactored sim_data with baseclass, introduce slitproxy
Description
This MR includes a major refactoring of the simulation framework, and how data is being handled within.
Related Issues
Closes #45 (closed) #44 (closed) #37 (closed) #36 (closed) #35 (closed) #33 (closed)
Type of Change
- Refactored classes
SimPositioner
,SimFlyer
,SimMonitor
andSimCamera
- Add base class
SimulatedDataBase
to sim_data. Data classes for SimPositioner/SimFlyer (does nothing), SimMonitor and SimCamera inherit from this base class. - refactored device proxies (
SlitProxy
). Proxies now register signals and their classes in the devices that they are supposed to affect. - Added some documentation in the classes themselves, e.g.
dev.<device>.sim.sim_show_all
gives an overview about functionality and available methods of the simulation.
Potential side effects
Hopefully None.
Screenshots / GIFs (if applicable)
Additional Comments
- documentation is pending and will be addressed immediately.
- test will be written for the simulation, to ensure functionality of the devices as they are currently (e.g. use Protocol class)
- 1DWaveForm is to be implemented
- MR for the core will be required to allow Proxies to be loaded from BEC (https://gitlab.psi.ch/bec/bec/-/tree/feat/AddOphydDeviceProxyToBackendForSimulationFramework?ref_type=heads)
Edited by appel_c