cgse 2023.36.0__tar.gz → 2023.38.0__tar.gz
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.
- {cgse-2023.36.0/src/cgse.egg-info → cgse-2023.38.0}/PKG-INFO +54 -3
- {cgse-2023.36.0 → cgse-2023.38.0}/pyproject.toml +1 -1
- {cgse-2023.36.0 → cgse-2023.38.0/src/cgse.egg-info}/PKG-INFO +54 -3
- {cgse-2023.36.0 → cgse-2023.38.0}/src/cgse.egg-info/SOURCES.txt +0 -1
- {cgse-2023.36.0 → cgse-2023.38.0}/src/cgse.egg-info/requires.txt +1 -1
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/alert/__init__.py +7 -4
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/config.py +1 -1
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/confman/__init__.py +11 -6
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/dpu/__init__.py +40 -12
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/dpu/ccd_ui.py +1 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/dpu/dpu_cs.py +5 -2
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/dpu/dpu_ui.py +8 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/dpu/fitsgen.py +8 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/env.py +11 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fov/fov_hk.py +14 -12
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/logger/__init__.py +1 -1
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/settings.yaml +2 -2
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/setup.py +5 -3
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/arun/smd3_controller.py +5 -10
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/beaglebone/beaglebone.py +1 -3
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/beaglebone/beaglebone_protocol.py +5 -7
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/print_register_map.py +5 -1
- cgse-2023.36.0/src/scripts/update_operational_cgse 2.py +0 -273
- {cgse-2023.36.0 → cgse-2023.38.0}/COPYING +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/COPYING.LESSER +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/README.md +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/setup.cfg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/cgse.egg-info/dependency_links.txt +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/cgse.egg-info/entry_points.txt +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/cgse.egg-info/top_level.txt +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/cov_html/keybd_closed.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/cov_html/keybd_open.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/demos/hexapod_demo.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/demos/stages_demo.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/__main__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/aeu.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/aeu_awg.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/aeu_crio.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/aeu_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/aeu_devif.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/aeu_main_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/aeu_metrics.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/aeu_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/aeu_psu.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/aeu_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/FccdRead.arb +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/FccdRead_min_points.arb +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/HeaterSync_FccdRead.arb +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/HeaterSync_ccdRead25.arb +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/HeaterSync_ccdRead31_25.arb +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/HeaterSync_ccdRead37_50.arb +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/HeaterSync_ccdRead43_75.arb +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/HeaterSync_ccdRead50.arb +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/Heater_FccdRead_min_points.arb +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/ccdRead25.arb +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/ccdRead25_150ms.arb +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/ccdRead31_25.arb +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/ccdRead31_25_150ms.arb +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/ccdRead37_50.arb +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/ccdRead37_50_150ms.arb +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/ccdRead43_75.arb +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/ccdRead43_75_150ms.arb +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/ccdRead50.arb +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/ccdRead50_150ms.arb +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/alert/alertman.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/alert/alertman_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/alert/alertman_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/alert/gsm/beaglebone.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/alert/gsm/beaglebone.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/alert/gsm/beaglebone_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/alert/gsm/beaglebone_devif.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/alert/gsm/beaglebone_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/bits.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/camera.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/collimator/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/collimator/fcul/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/collimator/fcul/ogse.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/collimator/fcul/ogse.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/collimator/fcul/ogse_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/collimator/fcul/ogse_devif.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/collimator/fcul/ogse_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/collimator/fcul/ogse_sim.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/collimator/fcul/ogse_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/command.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/confman/confman.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/confman/confman_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/confman/confman_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/confman/setup_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/control.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/coordinates/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/coordinates/avoidance.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/coordinates/cslmodel.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/coordinates/laser_tracker_to_dict.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/coordinates/point.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/coordinates/pyplot.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/coordinates/referenceFrame.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/coordinates/refmodel.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/coordinates/rotationMatrix.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/coordinates/transform3d_addon.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/csl/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/csl/commanding.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/csl/icons/hexapod-connected-selected.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/csl/icons/hexapod-connected.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/csl/icons/hexapod-homing-selected.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/csl/icons/hexapod-homing.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/csl/icons/hexapod-retract-selected.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/csl/icons/hexapod-retract.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/csl/icons/hexapod-zero-selected.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/csl/icons/hexapod-zero.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/csl/icons/logo-puna.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/csl/icons/stop.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/csl/initialisation.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/csl/mech_pos_settings.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/das.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/das.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_CSL_00000_170620_150000.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_CSL_00001_170620_151010.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_CSL_00002_170620_151020.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_CSL_00003_170620_151030.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_CSL_00004_170620_151040.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_CSL_00005_170620_151050.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_CSL_00006_170620_151060.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_CSL_00007_170620_151070.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_CSL_00008_170620_151080.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_CSL_00010_210308_083016.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_INTA_00000_170620_150000.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_SRON_00000_170620_150000.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/decorators.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/device.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/dpu/dpu.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/dpu/dpu.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/dpu/fitsgen_test.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/dpu/fitsgen_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/dpu/hdf5_model.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/dpu/hdf5_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/dpu/hdf5_viewer.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/dpu/hk_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/dpu_commands.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/dsi/constants.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/dsi/esl.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/dsi/rmap.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/dsi/rmapci.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/dsi/spw.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/dsi/spw_state.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/dummy.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/dyndummy.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/exceptions.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fdir/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fdir/fdir_manager.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fdir/fdir_manager.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fdir/fdir_manager_controller.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fdir/fdir_manager_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fdir/fdir_manager_interface.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fdir/fdir_remote.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fdir/fdir_remote.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fdir/fdir_remote_controller.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fdir/fdir_remote_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fdir/fdir_remote_interface.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fdir/fdir_remote_popup.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fee/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fee/f_fee_register.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fee/fee.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fee/feesim.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fee/n_fee_hk.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fee/nfee.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/filterwheel/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc4.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc4.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc4_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc4_devif.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc4_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc4_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc5.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc5.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc5_controller.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc5_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc5_interface.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc5_simulator.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc5_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/testpythonfw.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fov/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fov/fov_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fov/fov_ui_controller.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fov/fov_ui_model.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/fov/fov_ui_view.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/gimbal/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/gimbal/symetrie/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/gimbal/symetrie/alpha.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/gimbal/symetrie/generic_gimbal_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/gimbal/symetrie/gimbal.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/gimbal/symetrie/gimbal.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/gimbal/symetrie/gimbal_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/gimbal/symetrie/gimbal_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/gimbal/symetrie/gimbal_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/gimbal/symetrie/pmac.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/gimbal/symetrie/pmac_regex.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/graph.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/gui/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/gui/buttons.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/gui/focalplane.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/gui/formatter.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/gui/led.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/gui/limitswitch.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/gui/mechanisms.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/gui/states.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/gui/stripchart.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/gui/switch.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/h5.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/help/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/help/help_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/hexapod/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/alpha.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/dynalpha.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/hexapod_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/pmac.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/pmac_regex.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/puna.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/puna.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/puna_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/puna_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/puna_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/punaplus.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/zonda.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/zonda.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/zonda_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/zonda_devif.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/zonda_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/zonda_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/hk.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/aeu-cs-start.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/aeu-cs-stop.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/aeu-cs.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/aeu_cs-started.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/aeu_cs-stopped.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/aeu_cs.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/alert.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/arrow-double-left.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/arrow-double-right.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/arrow-up.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/backward.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/busy.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/cleaning.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/color-scheme.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/cs-connected-alert.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/cs-connected-disabled.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/cs-connected.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/cs-not-connected.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/double-left-arrow.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/double-right-arrow.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/erase-disabled.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/erase.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/fitsgen-start.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/fitsgen-stop.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/fitsgen.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/forward.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/fov-hk-start.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/fov-hk-stop.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/fov-hk.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/front-desk.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/home-actioned.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/home-disabled.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/home.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/info.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/invalid.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/led-green.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/led-grey.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/led-orange.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/led-red.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/led-square-green.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/led-square-grey.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/led-square-orange.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/led-square-red.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/limit-switch-all-green.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/limit-switch-all-red.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/limit-switch-el+.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/limit-switch-el-.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/location-marker.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/logo-dpu.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/logo-gimbal.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/logo-huber.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/logo-ogse.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/logo-puna.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/logo-tcs.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/logo-zonda.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/maximize.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/meter.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/more.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/n-fee-hk-start.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/n-fee-hk-stop.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/n-fee-hk.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/observing-off.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/observing-on.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/open-document-hdf5.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/open-document-hdf5.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/ops-mode.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/play-green.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/plugged-disabled.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/plugged.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/pm_ui.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/power-button-green.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/power-button-red.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/power-button.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/radar.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/radioactive.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/reload.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/remote-control-off.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/remote-control-on.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/repeat-blue.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/repeat.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/settings.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/shrink.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/shutter.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/sign-off.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/sign-on.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/sim-mode.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/small-buttons-go.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/small-buttons-minus.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/small-buttons-plus.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/sponge.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/start-button-disabled.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/start-button.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/stop-button-disabled.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/stop-button.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/stop-red.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/stop.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/switch-disabled-square.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/switch-disabled.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/switch-off-square.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/switch-off.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/switch-on-square.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/switch-on.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/temperature-control.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/th_ui_logo.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/unplugged.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/unvalid.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/user-interface.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/vacuum.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/valid.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/zoom-to-pixel-dark.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/icons/zoom-to-pixel-white.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/big-rotation-stage.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/connected-100.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/cross.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/disconnected-100.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/gui-icon.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/home.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/info-icon.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/led-black.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/led-green.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/led-orange.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/led-red.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/load-icon.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/load-setup.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/load.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/pause.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/play-button.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/play.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/process-status.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/restart.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/search.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/sma.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/start.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/stop-button.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/stop.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/switch-off.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/switch-on.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/undo.png +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/images/update-button.svg +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/imageviewer/exposureselection.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/imageviewer/imageviewer.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/imageviewer/matchfocalplane.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/imageviewer/subfieldposition.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lampcontrol/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lampcontrol/beaglebone/beaglebone.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lampcontrol/beaglebone/beaglebone.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lampcontrol/beaglebone/beaglebone_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lampcontrol/beaglebone/beaglebone_devif.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lampcontrol/beaglebone/beaglebone_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lampcontrol/energetiq/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lampcontrol/energetiq/eq99.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lampcontrol/energetiq/lampEQ99.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lampcontrol/energetiq/lampEQ99_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lampcontrol/energetiq/lampEQ99_devif.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lampcontrol/energetiq/lampEQ99_encode_decode_errors.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lampcontrol/energetiq/lampEQ99_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lampcontrol/energetiq/lampEQ99_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/CentOS-7/EtherSpaceLink_v34_86.dylib +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/CentOS-8/ESL-RMAP_v34_86.dylib +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/CentOS-8/EtherSpaceLink_v34_86.dylib +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/Debian/ESL-RMAP_v34_86.dylib +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/Debian/EtherSpaceLink_v34_86.dylib +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/Debian/libetherspacelink_v35_21.dylib +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/Linux/ESL-RMAP_v34_86.dylib +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/Linux/EtherSpaceLink_v34_86.dylib +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/Ubuntu-20/ESL-RMAP_v34_86.dylib +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/Ubuntu-20/EtherSpaceLink_v34_86.dylib +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/gssw/python3-gssw_2.2.3+31f63c9f-1_all.deb +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/macOS/ESL-RMAP_v34_86.dylib +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/macOS/EtherSpaceLink_v34_86.dylib +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/ximc/__pycache__/pyximc.cpython-38 2.pyc +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/ximc/__pycache__/pyximc.cpython-38.pyc +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/ximc/libximc.framework/Frameworks/libbindy.dylib +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/ximc/libximc.framework/Frameworks/libxiwrapper.dylib +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/ximc/libximc.framework/Headers/ximc.h +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/ximc/libximc.framework/Resources/Info.plist +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/ximc/libximc.framework/Resources/keyfile.sqlite +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/ximc/libximc.framework/libbindy.so +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/ximc/libximc.framework/libximc +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/ximc/libximc.framework/libximc.so +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/ximc/libximc.framework/libximc.so.7.0.0 +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/ximc/libximc.framework/libxiwrapper.so +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/lib/ximc/pyximc.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/listener.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/logger/log_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/metrics.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/mixin.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/monitoring.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/ni/alarms/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/ni/alarms/cdaq9375.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/ni/alarms/cdaq9375.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/ni/alarms/cdaq9375_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/ni/alarms/cdaq9375_devif.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/ni/alarms/cdaq9375_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/obs_inspection.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/observer.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/obsid.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/powermeter/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/powermeter/ni/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/powermeter/ni/cdaq9184.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/powermeter/ni/cdaq9184.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/powermeter/ni/cdaq9184_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/powermeter/ni/cdaq9184_devif.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/powermeter/ni/cdaq9184_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/powermeter/ni/cdaq9184_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/powermeter/thorlabs/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/powermeter/thorlabs/pm100a.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/powermeter/thorlabs/pm100a.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/powermeter/thorlabs/pm100a_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/powermeter/thorlabs/pm100a_devif.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/powermeter/thorlabs/pm100a_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/powermeter/thorlabs/pm100a_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/process.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/procman/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/procman/cannot_start_process_popup.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/procman/procman.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/procman/procman_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/procman/procman_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/proxy.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/randomwalk.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/reg.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/reload.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/reprocess.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/resource.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/rst.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/search.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/serialdevice.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/services.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/services.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/settings.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/shutter/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/ksc101.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/ksc101.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/ksc101_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/ksc101_devif.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/ksc101_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/ksc101_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/sc10.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/sc10.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/sc10_controller.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/sc10_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/sc10_interface.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/sc10_simulator.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/simulator.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/slack.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/socketdevice.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/sockets.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/spw.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/aerotech/ensemble.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/aerotech/ensemble.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/aerotech/ensemble_controller.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/aerotech/ensemble_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/aerotech/ensemble_interface.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/aerotech/ensemble_parameters.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/aerotech/ensemble_simulator.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/aerotech/mgse_sim.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/arun/smd3.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/arun/smd3.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/arun/smd3_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/arun/smd3_interface.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/arun/smd3_simulator.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/arun/smd3_stop.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/huber/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/huber/smc9300.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/huber/smc9300.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/huber/smc9300_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/huber/smc9300_devif.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/huber/smc9300_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/huber/smc9300_sim.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/stages/huber/smc9300_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/state.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/statemachine.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/storage/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/storage/persistence.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/storage/storage.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/storage/storage_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/styles/dark.qss +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/styles/default.qss +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/synoptics/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/synoptics/syn.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/synoptics/syn_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/system.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tcs/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tcs/tcs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tcs/tcs.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tcs/tcs_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tcs/tcs_devif.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tcs/tcs_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tcs/tcs_sim.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tcs/tcs_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tdms.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/agilent/agilent34970.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/agilent/agilent34970.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/agilent/agilent34970_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/agilent/agilent34970_devif.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/agilent/agilent34970_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/agilent/agilent34972.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/agilent/agilent34972.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/agilent/agilent34972_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/agilent/agilent34972_devif.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/agilent/agilent34972_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/beaglebone/beaglebone.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/beaglebone/beaglebone_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/beaglebone/beaglebone_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/digalox/digalox.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/digalox/digalox.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/digalox/digalox_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/digalox/digalox_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/keithley/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/keithley/daq6510.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/keithley/daq6510.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/keithley/daq6510_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/keithley/daq6510_devif.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/keithley/daq6510_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/keithley/daq6510_sim.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/lakeshore/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/lakeshore/lsci.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/lakeshore/lsci.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/lakeshore/lsci_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/lakeshore/lsci_devif.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/lakeshore/lsci_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/lakeshore/lsci_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/ni/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/spid/spid.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/spid/spid.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/spid/spid_controller.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/spid/spid_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/spid/spid_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/spid/spid_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/srs/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/srs/ptc10.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/srs/ptc10.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/srs/ptc10_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/srs/ptc10_devif.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/srs/ptc10_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/tempcontrol/srs/ptc10_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/ups/apc/apc.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/ups/apc/apc.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/ups/apc/apc_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/ups/apc/apc_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/user.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/beaglebone/beaglebone.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/beaglebone/beaglebone.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/beaglebone/beaglebone_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/beaglebone/beaglebone_devif.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/beaglebone/beaglebone_protocol.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/beaglebone/beaglebone_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/instrutech/igm402.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/instrutech/igm402.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/instrutech/igm402_controller.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/instrutech/igm402_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/instrutech/igm402_interface.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/instrutech/igm402_simulator.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/keller/kellerBus.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/keller/leo3.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/keller/leo3.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/keller/leo3_controller.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/keller/leo3_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/keller/leo3_interface.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/mks/evision.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/mks/evision.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/mks/evision_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/mks/evision_devif.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/mks/evision_interface.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/mks/evision_simulator.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/mks/evision_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/acp40.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/acp40.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/acp40_controller.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/acp40_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/acp40_interface.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/acp40_simulator.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tc400.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tc400.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tc400_controller.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tc400_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tc400_interface.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tc400_simulator.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tpg261.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tpg261.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tpg261_controller.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tpg261_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tpg261_interface.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tpg261_simulator.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/version.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/visitedpositions.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/windowing.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/zmq/__init__.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/zmq/spw.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/egse/zmq_ser.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/alerts/cold.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/alerts/example_alerts.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/alerts/transition.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/alerts/warm.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/analyse_n_fee_hk_data.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/check_hdf5_files.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/check_register_sync.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/create_hdf5_report.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/csl_model.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/csl_restore_setup.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/export-grafana-dashboards.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/fdir/cs_recovery/fdir_cs_recovery.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/fdir/fdir_table.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/fdir/fdir_test_recovery.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/fdir/hw_recovery/fdir_agilent_hw_recovery.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/fdir/limit_recovery/fdir_agilent_limit.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/fdir/limit_recovery/fdir_bb_heater_limit.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/fdir/limit_recovery/fdir_ensemble_limit.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/fdir/limit_recovery/fdir_pressure_limit_recovery.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/fix_csv.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/n_fee_supply_voltage_calculation.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/playground.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/print_hdf5_hk_data.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/sron/commanding/control_heaters.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/sron/commanding/pumpdown.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/sron/commanding/set_pid_setpoint.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/sron/commanding/shutdown_bbb_heaters.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/sron/commanding/shutdown_pumps.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/sron/tm_gen/tm_gen_agilent.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/sron/tm_gen/tm_gen_heaters.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/sron/tm_gen/tm_gen_spid.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/update_operational_cgse.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/scripts/update_operational_cgse_old.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/conftest.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/data/CSL/conf/SETUP_CSL_00028_201028_155259.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/data/CSL/conf/SETUP_CSL_00029_201028_155331.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/data/CSL/conf/SETUP_CSL_00030_210311_134043.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/data/CSL/conf/SETUP_CSL_00080_210917_105245.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/data/CSL/conf/SETUP_CSL_00081_210922_142259.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/data/CSL/conf/SETUP_CSL_00082_210923_094458.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/data/SRON/conf/SETUP_SRON_00027_211119_140441.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/data/SRON/conf/SETUP_SRON_00028_211119_160406.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/data/SRON/conf/SETUP_SRON_00029_211119_172918.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/data/SRON/conf/SETUP_SRON_00030_211122_103604.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/data/SRON/conf/SETUP_SRON_00031_211123_124900.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/data/calibration.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/data/conf/SETUP_CSL_00000_170620_150000.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/data/conf/SETUP_CSL_00001_170620_151010.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/data/conf/SETUP_CSL_00010_210308_083016.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/data/confman_settings.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/data/corrupt.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/data/empty.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/data/settings.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/data/test_setup.yaml +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/helper.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/itest_dpu_ui.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/scripts/dummy_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/scripts/empty_process.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/scripts/void-0.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/scripts/void-1.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_aeu.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_aeu_simulator.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_automatic_dump_mode.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_avoidance.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_bits.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_cm_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_command.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_config.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_confman.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_confman_controller.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_confman_functions.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_constants.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_coordinates_plot.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_coordinates_serialize.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_daq6510.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_decorators.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_device.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_dpu_functions.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_dpu_internals.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_dpu_monitoring.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_dpu_nfee_state.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_dpu_send_commands.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_dsi.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_env.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_esl.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_fee.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_feesim.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_filterwheel_eksma.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_fixture_with_lru_cache.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_fov_hk__ias.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_gimbal.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_graph.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_hexapod.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_hexapod_simulator.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_hexapod_zonda.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_hk.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_huber.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_huber_dev.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_imports.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_lakeshore.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_lakeshore_simulator.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_lampEQ99_encode_decode_errors.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_lampcontrol_energetiq.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_listener.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_logger.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_metrics.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_mixin.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_n_fee.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_n_fee_hk.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_n_fee_side.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_obs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_obsid.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_ogse_functions.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_ogse_sim.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_persistence.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_persistence_hdf5.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_persistence_sqlite.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_pmac.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_pmac_regex.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_point.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_process.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_process_status.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_proxy.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_proxy_state.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_puna.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_puna_plus.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_ref_model.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_reference_frames.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_refmodel.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_reg.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_reload.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_resource.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_response.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_rmap.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_search.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_services.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_settings.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_setup.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_slack.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_spw.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_stages.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_state.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_storage.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_storage_controller.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_storage_counter.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_storage_filename.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_syn_cs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_system.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_tcs.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_tdms.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_thorlabs_controller.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_thorlabs_proxy.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_thorlabs_simulator.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_twos_complement.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_version.py +0 -0
- {cgse-2023.36.0 → cgse-2023.38.0}/src/tests/test_windowing.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: cgse
|
|
3
|
-
Version: 2023.
|
|
3
|
+
Version: 2023.38.0
|
|
4
4
|
Summary: PLATO Common-EGSE
|
|
5
5
|
Author-email: Rik Huygen <rik.huygen@kuleuven.be>, Sara Regibo <sara.regibo@kuleuven.be>
|
|
6
6
|
Maintainer: Pierre Royer, Nicolas Beraud, Sena Gomashie, Jesus Saiz
|
|
@@ -13,12 +13,63 @@ Classifier: Programming Language :: Python :: 3.8
|
|
|
13
13
|
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
|
|
14
14
|
Requires-Python: >=3.8
|
|
15
15
|
Description-Content-Type: text/x-rst
|
|
16
|
+
License-File: COPYING
|
|
17
|
+
License-File: COPYING.LESSER
|
|
18
|
+
Requires-Dist: apscheduler
|
|
19
|
+
Requires-Dist: astropy
|
|
20
|
+
Requires-Dist: click
|
|
21
|
+
Requires-Dist: deepdiff
|
|
22
|
+
Requires-Dist: distro
|
|
23
|
+
Requires-Dist: ginga
|
|
24
|
+
Requires-Dist: gitpython>=3
|
|
25
|
+
Requires-Dist: h5py>=3.5
|
|
26
|
+
Requires-Dist: invoke
|
|
27
|
+
Requires-Dist: matplotlib>=3.5
|
|
28
|
+
Requires-Dist: natsort
|
|
29
|
+
Requires-Dist: numpy==1.22.4
|
|
30
|
+
Requires-Dist: openpyxl
|
|
31
|
+
Requires-Dist: pandas
|
|
32
|
+
Requires-Dist: paramiko
|
|
33
|
+
Requires-Dist: persist-queue
|
|
34
|
+
Requires-Dist: prometheus-client
|
|
35
|
+
Requires-Dist: psutil
|
|
36
|
+
Requires-Dist: pyqtgraph
|
|
37
|
+
Requires-Dist: pytz
|
|
38
|
+
Requires-Dist: pyyaml
|
|
39
|
+
Requires-Dist: pyzmq
|
|
40
|
+
Requires-Dist: qled
|
|
41
|
+
Requires-Dist: requests
|
|
42
|
+
Requires-Dist: rich
|
|
43
|
+
Requires-Dist: scipy
|
|
44
|
+
Requires-Dist: sshtunnel
|
|
45
|
+
Requires-Dist: sympy
|
|
46
|
+
Requires-Dist: textual
|
|
47
|
+
Requires-Dist: transforms3d
|
|
48
|
+
Requires-Dist: transitions
|
|
49
|
+
Requires-Dist: typing_extensions
|
|
50
|
+
Requires-Dist: pylibftdi
|
|
51
|
+
Requires-Dist: pyserial
|
|
52
|
+
Requires-Dist: pylzma
|
|
53
|
+
Requires-Dist: pyusb
|
|
54
|
+
Requires-Dist: PyVISA
|
|
55
|
+
Requires-Dist: PyVISA-py
|
|
56
|
+
Requires-Dist: ThorlabsPM100
|
|
16
57
|
Provides-Extra: dev
|
|
58
|
+
Requires-Dist: pytest; extra == "dev"
|
|
59
|
+
Requires-Dist: pytest-mock; extra == "dev"
|
|
60
|
+
Requires-Dist: pytest-cov; extra == "dev"
|
|
61
|
+
Requires-Dist: pipdeptree; extra == "dev"
|
|
62
|
+
Requires-Dist: pdoc3; extra == "dev"
|
|
17
63
|
Provides-Extra: pyqt5
|
|
64
|
+
Requires-Dist: pyqt5>=5.15; extra == "pyqt5"
|
|
65
|
+
Requires-Dist: PyQtWebEngine>=5.15; extra == "pyqt5"
|
|
18
66
|
Provides-Extra: pyqt6
|
|
67
|
+
Requires-Dist: pyqt6>=6.5; extra == "pyqt6"
|
|
68
|
+
Requires-Dist: PyQtWebEngine>=6.5; extra == "pyqt6"
|
|
19
69
|
Provides-Extra: tools
|
|
20
|
-
|
|
21
|
-
|
|
70
|
+
Requires-Dist: cutelog; extra == "tools"
|
|
71
|
+
Requires-Dist: gui-executor; extra == "tools"
|
|
72
|
+
Requires-Dist: visidata; extra == "tools"
|
|
22
73
|
|
|
23
74
|
<p align="center">
|
|
24
75
|
<a href="https://ivs-kuleuven.github.io/plato-common-egse/"><img src="MKDOCS/docs/img/cgse-logo-200x200.png"/></a>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: cgse
|
|
3
|
-
Version: 2023.
|
|
3
|
+
Version: 2023.38.0
|
|
4
4
|
Summary: PLATO Common-EGSE
|
|
5
5
|
Author-email: Rik Huygen <rik.huygen@kuleuven.be>, Sara Regibo <sara.regibo@kuleuven.be>
|
|
6
6
|
Maintainer: Pierre Royer, Nicolas Beraud, Sena Gomashie, Jesus Saiz
|
|
@@ -13,12 +13,63 @@ Classifier: Programming Language :: Python :: 3.8
|
|
|
13
13
|
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
|
|
14
14
|
Requires-Python: >=3.8
|
|
15
15
|
Description-Content-Type: text/x-rst
|
|
16
|
+
License-File: COPYING
|
|
17
|
+
License-File: COPYING.LESSER
|
|
18
|
+
Requires-Dist: apscheduler
|
|
19
|
+
Requires-Dist: astropy
|
|
20
|
+
Requires-Dist: click
|
|
21
|
+
Requires-Dist: deepdiff
|
|
22
|
+
Requires-Dist: distro
|
|
23
|
+
Requires-Dist: ginga
|
|
24
|
+
Requires-Dist: gitpython>=3
|
|
25
|
+
Requires-Dist: h5py>=3.5
|
|
26
|
+
Requires-Dist: invoke
|
|
27
|
+
Requires-Dist: matplotlib>=3.5
|
|
28
|
+
Requires-Dist: natsort
|
|
29
|
+
Requires-Dist: numpy==1.22.4
|
|
30
|
+
Requires-Dist: openpyxl
|
|
31
|
+
Requires-Dist: pandas
|
|
32
|
+
Requires-Dist: paramiko
|
|
33
|
+
Requires-Dist: persist-queue
|
|
34
|
+
Requires-Dist: prometheus-client
|
|
35
|
+
Requires-Dist: psutil
|
|
36
|
+
Requires-Dist: pyqtgraph
|
|
37
|
+
Requires-Dist: pytz
|
|
38
|
+
Requires-Dist: pyyaml
|
|
39
|
+
Requires-Dist: pyzmq
|
|
40
|
+
Requires-Dist: qled
|
|
41
|
+
Requires-Dist: requests
|
|
42
|
+
Requires-Dist: rich
|
|
43
|
+
Requires-Dist: scipy
|
|
44
|
+
Requires-Dist: sshtunnel
|
|
45
|
+
Requires-Dist: sympy
|
|
46
|
+
Requires-Dist: textual
|
|
47
|
+
Requires-Dist: transforms3d
|
|
48
|
+
Requires-Dist: transitions
|
|
49
|
+
Requires-Dist: typing_extensions
|
|
50
|
+
Requires-Dist: pylibftdi
|
|
51
|
+
Requires-Dist: pyserial
|
|
52
|
+
Requires-Dist: pylzma
|
|
53
|
+
Requires-Dist: pyusb
|
|
54
|
+
Requires-Dist: PyVISA
|
|
55
|
+
Requires-Dist: PyVISA-py
|
|
56
|
+
Requires-Dist: ThorlabsPM100
|
|
16
57
|
Provides-Extra: dev
|
|
58
|
+
Requires-Dist: pytest; extra == "dev"
|
|
59
|
+
Requires-Dist: pytest-mock; extra == "dev"
|
|
60
|
+
Requires-Dist: pytest-cov; extra == "dev"
|
|
61
|
+
Requires-Dist: pipdeptree; extra == "dev"
|
|
62
|
+
Requires-Dist: pdoc3; extra == "dev"
|
|
17
63
|
Provides-Extra: pyqt5
|
|
64
|
+
Requires-Dist: pyqt5>=5.15; extra == "pyqt5"
|
|
65
|
+
Requires-Dist: PyQtWebEngine>=5.15; extra == "pyqt5"
|
|
18
66
|
Provides-Extra: pyqt6
|
|
67
|
+
Requires-Dist: pyqt6>=6.5; extra == "pyqt6"
|
|
68
|
+
Requires-Dist: PyQtWebEngine>=6.5; extra == "pyqt6"
|
|
19
69
|
Provides-Extra: tools
|
|
20
|
-
|
|
21
|
-
|
|
70
|
+
Requires-Dist: cutelog; extra == "tools"
|
|
71
|
+
Requires-Dist: gui-executor; extra == "tools"
|
|
72
|
+
Requires-Dist: visidata; extra == "tools"
|
|
22
73
|
|
|
23
74
|
<p align="center">
|
|
24
75
|
<a href="https://ivs-kuleuven.github.io/plato-common-egse/"><img src="MKDOCS/docs/img/cgse-logo-200x200.png"/></a>
|
|
@@ -633,7 +633,6 @@ src/scripts/n_fee_supply_voltage_calculation.py
|
|
|
633
633
|
src/scripts/playground.py
|
|
634
634
|
src/scripts/print_hdf5_hk_data.py
|
|
635
635
|
src/scripts/print_register_map.py
|
|
636
|
-
src/scripts/update_operational_cgse 2.py
|
|
637
636
|
src/scripts/update_operational_cgse.py
|
|
638
637
|
src/scripts/update_operational_cgse_old.py
|
|
639
638
|
src/scripts/alerts/cold.yaml
|
|
@@ -394,11 +394,14 @@ class Alert:
|
|
|
394
394
|
def mask_check(self, value):
|
|
395
395
|
""" Masks a bitmap and check the state of a single bit
|
|
396
396
|
"""
|
|
397
|
-
|
|
397
|
+
if isinstance(value, str):
|
|
398
|
+
value = eval(value)
|
|
399
|
+
|
|
400
|
+
self.value = int(value)
|
|
398
401
|
|
|
399
|
-
if (
|
|
402
|
+
if (self.value >> self.configuration.limits['mask']) & 0b1:
|
|
400
403
|
self.timed_out = time.time() if self.timed_out == 0.0 else self.timed_out
|
|
401
|
-
if (time() - self.timed_out) > self.configuration.maximum_age:
|
|
404
|
+
if (time.time() - self.timed_out) > self.configuration.maximum_age:
|
|
402
405
|
self.trigger_alert()
|
|
403
406
|
else:
|
|
404
407
|
self.clear_alert()
|
|
@@ -452,7 +455,7 @@ class ControlServerWorker:
|
|
|
452
455
|
|
|
453
456
|
for process_name, process_info in self.devices.items():
|
|
454
457
|
|
|
455
|
-
if ('alert' in process_name.lower())or ('fdir' in process_name.lower()):
|
|
458
|
+
if ('alert' in process_name.lower()) or ('fdir' in process_name.lower()) or ('dpu' in process_name.lower()):
|
|
456
459
|
continue
|
|
457
460
|
|
|
458
461
|
self.monitors[process_name] = {'name' : process_name,
|
|
@@ -262,7 +262,7 @@ def get_common_egse_root(path: Union[str, PurePath] = None) -> Optional[PurePath
|
|
|
262
262
|
Returns:
|
|
263
263
|
Path: the absolute path to the Common-EGSE installation directory or None
|
|
264
264
|
"""
|
|
265
|
-
_TEST_NAMES = ("
|
|
265
|
+
_TEST_NAMES = ("pyproject.toml", "setup.py")
|
|
266
266
|
if path is not None:
|
|
267
267
|
return find_root(path, tests=_TEST_NAMES)
|
|
268
268
|
|
|
@@ -111,7 +111,6 @@ from __future__ import annotations
|
|
|
111
111
|
|
|
112
112
|
import logging
|
|
113
113
|
import operator
|
|
114
|
-
import os
|
|
115
114
|
import subprocess
|
|
116
115
|
import textwrap
|
|
117
116
|
import threading
|
|
@@ -120,9 +119,10 @@ from typing import NamedTuple
|
|
|
120
119
|
from typing import Optional
|
|
121
120
|
from typing import Union
|
|
122
121
|
|
|
123
|
-
import rich
|
|
124
122
|
import git
|
|
123
|
+
import rich
|
|
125
124
|
from git import GitCommandError
|
|
125
|
+
from prometheus_client import Gauge
|
|
126
126
|
|
|
127
127
|
from egse.command import ClientServerCommand
|
|
128
128
|
from egse.command import stringify_function_call
|
|
@@ -145,16 +145,12 @@ from egse.settings import SettingsError
|
|
|
145
145
|
from egse.setup import Setup
|
|
146
146
|
from egse.setup import load_last_setup_id
|
|
147
147
|
from egse.setup import save_last_setup_id
|
|
148
|
-
from egse.storage import StorageProxy
|
|
149
|
-
from egse.storage import is_storage_manager_active
|
|
150
|
-
from egse.storage.persistence import TXT
|
|
151
148
|
from egse.system import filter_by_attr
|
|
152
149
|
from egse.system import format_datetime
|
|
153
150
|
from egse.system import replace_environment_variable
|
|
154
151
|
from egse.version import VERSION
|
|
155
152
|
from egse.zmq_ser import bind_address
|
|
156
153
|
from egse.zmq_ser import connect_address
|
|
157
|
-
from prometheus_client import Gauge
|
|
158
154
|
|
|
159
155
|
LOGGER = logging.getLogger(__name__)
|
|
160
156
|
|
|
@@ -521,6 +517,15 @@ class ConfigurationManagerController(ConfigurationManagerInterface):
|
|
|
521
517
|
"""
|
|
522
518
|
|
|
523
519
|
def __init__(self):
|
|
520
|
+
|
|
521
|
+
# Import these modules here as to optimize the import of classes and functions in other parts of the CGSE.
|
|
522
|
+
# The CongifurationManagerController is only used by the CM CS and these Storage imports are only used in
|
|
523
|
+
# this class and take too much loading time...
|
|
524
|
+
|
|
525
|
+
from egse.storage import StorageProxy
|
|
526
|
+
from egse.storage import is_storage_manager_active
|
|
527
|
+
from egse.storage.persistence import TXT
|
|
528
|
+
|
|
524
529
|
self._obsid: ObservationIdentifier | None = None
|
|
525
530
|
self._setup_id: int | None = None
|
|
526
531
|
self._camera_name: str | None = None
|
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
"""
|
|
2
|
-
This module defines the commanding interfaces for the DPU-FEE interaction.
|
|
2
|
+
This module defines the commanding interfaces for the DPU—N-FEE interaction.
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
On the *client/user side*, the `DPUProxy` class shall be used for user interactions and commanding with both
|
|
6
|
+
the DPU simulator and the N-FEE. This class connects to the DPU control server which must be running before
|
|
7
|
+
any commands can be processed.
|
|
8
|
+
|
|
9
|
+
On the *server side*, the `DPUControlServer` class is located in the module `dpu_cs`.
|
|
10
|
+
|
|
11
|
+
The top-level classes that are of interest to the developer when inspecting this module are:
|
|
12
|
+
|
|
13
|
+
* `DPUController` which puts the requested commands on the command queue for the `DPUProcessor`
|
|
14
|
+
* `DPUProcessor` is the work horse of the DPU simulator and runs in a separate process. This process communicates
|
|
15
|
+
directly with the N-FEE through the SpaceWire interface.
|
|
16
|
+
* `DPUInternals` keeps critical information about the DPU and provides information on the status of the
|
|
17
|
+
readout progress, i.e. where we are in the readout cycle.
|
|
18
|
+
* `DPUMonitoring` provides methods to run a function at a certain time, e.g. right after a long pulse, or to wait
|
|
19
|
+
for an event, e.g. when an HDF5 file is ready for processing.
|
|
20
|
+
|
|
21
|
+
The actual commanding is done in `dpu` module. That module also defines the `NFEEState` which acts as a
|
|
22
|
+
mirror of the FPGA status.
|
|
23
|
+
|
|
24
|
+
This module also defines a number of functions, but they all are for internal use and are not of any interest
|
|
25
|
+
unless you are maintaining this module.
|
|
26
|
+
|
|
3
27
|
"""
|
|
4
28
|
|
|
5
29
|
import logging
|
|
@@ -103,22 +127,18 @@ DATA_TYPE: Dict[str, Type[PersistenceLayer]] = {
|
|
|
103
127
|
"FITS": FITS,
|
|
104
128
|
}
|
|
105
129
|
|
|
106
|
-
try:
|
|
107
|
-
CCD_ID_TO_BIN = GlobalState.setup.camera.fee.ccd_numbering.CCD_ID_TO_BIN
|
|
108
|
-
except AttributeError as exc:
|
|
109
|
-
LOGGER.error(f"Could not load CCD_ID_TO_BIN from Setup: {exc}")
|
|
110
|
-
raise
|
|
111
|
-
|
|
112
130
|
CCD_NUMBERS = [1, 2, 3, 4]
|
|
113
131
|
|
|
132
|
+
|
|
114
133
|
def rotate_list(seq, n):
|
|
115
134
|
if (size := len(seq)) < 2:
|
|
116
135
|
return seq
|
|
117
136
|
n = n % len(seq)
|
|
118
137
|
return seq[n:] + seq[:n]
|
|
119
138
|
|
|
120
|
-
|
|
121
|
-
|
|
139
|
+
|
|
140
|
+
def _get_ccd_readout_order(order_list: list, ccd_id_mapping: list):
|
|
141
|
+
return sum(ccd_id_mapping[ccd] << idx * 2 for idx, ccd in enumerate(order_list))
|
|
122
142
|
|
|
123
143
|
|
|
124
144
|
class NoDataPacketError(Exception):
|
|
@@ -1337,6 +1357,9 @@ class DPUInternals:
|
|
|
1337
1357
|
# Enumeration with the sensor_sel
|
|
1338
1358
|
sensor_sel_enum: Enum = None
|
|
1339
1359
|
|
|
1360
|
+
# Mapping of the CCD identifier to the binary representation (loaded from the Setup)
|
|
1361
|
+
ccd_id_to_bin: List[int] = None
|
|
1362
|
+
|
|
1340
1363
|
# The clear_error_flags shall be executed on every readout, i.e. every 200ms and 400ms pulse.
|
|
1341
1364
|
clear_error_flags = False
|
|
1342
1365
|
|
|
@@ -1438,14 +1461,17 @@ class DPUProcessor(multiprocessing.Process):
|
|
|
1438
1461
|
|
|
1439
1462
|
def run(self):
|
|
1440
1463
|
|
|
1464
|
+
setup = GlobalState.setup
|
|
1465
|
+
|
|
1441
1466
|
self._dpu_internals = DPUInternals(
|
|
1442
1467
|
num_cycles=-1,
|
|
1443
1468
|
expected_last_packet_flags=[False, False, False, False],
|
|
1444
1469
|
dump_mode=False,
|
|
1445
1470
|
internal_sync=False,
|
|
1446
1471
|
frame_number=-1,
|
|
1447
|
-
ccd_sides_enum=
|
|
1448
|
-
sensor_sel_enum=
|
|
1472
|
+
ccd_sides_enum=setup.camera.fee.ccd_sides.enum,
|
|
1473
|
+
sensor_sel_enum=setup.camera.fee.sensor_sel.enum,
|
|
1474
|
+
ccd_id_to_bin=setup.camera.fee.ccd_numbering.CCD_ID_TO_BIN,
|
|
1449
1475
|
)
|
|
1450
1476
|
|
|
1451
1477
|
# The DPU Processor runs in a different process and since ZeroMQ Sockets are not
|
|
@@ -1651,7 +1677,9 @@ class DPUProcessor(multiprocessing.Process):
|
|
|
1651
1677
|
internals = self._dpu_internals
|
|
1652
1678
|
internals.current_ccd_readout_order = rotate_list(internals.current_ccd_readout_order, 1)
|
|
1653
1679
|
internals.cycle_count += 1
|
|
1654
|
-
ccd_readout_order = _get_ccd_readout_order(
|
|
1680
|
+
ccd_readout_order = _get_ccd_readout_order(
|
|
1681
|
+
internals.current_ccd_readout_order, internals.ccd_id_to_bin
|
|
1682
|
+
)
|
|
1655
1683
|
# LOGGER.info(f"{internals.current_ccd_readout_order = }, {ccd_readout_order = }, "
|
|
1656
1684
|
# f"{internals.cycle_count = }")
|
|
1657
1685
|
_ = command_set_readout_order(self._transport, self.register_map, ccd_readout_order)
|
|
@@ -5,12 +5,15 @@ the DPU Controller.
|
|
|
5
5
|
Start the DPU Control Server from the terminal as follows when you have the real hardware
|
|
6
6
|
connected via a Diagnostic SpaceWire Interface (DSI):
|
|
7
7
|
```bash
|
|
8
|
-
$
|
|
8
|
+
$ dpu_cs start [-a <IP address of DSI>] [-p <dsi port>]
|
|
9
9
|
```
|
|
10
10
|
Alternatively, when you want to run the FEE Simulator, start the DPU Control Server as follows:
|
|
11
11
|
```bash
|
|
12
|
-
$
|
|
12
|
+
$ dpu_cs start --zeromq
|
|
13
13
|
```
|
|
14
|
+
This last command will try to connect to an N-FEE simulator that is also started with the `--zeromq` option.
|
|
15
|
+
See the `feesim` module in `egse.fee` for more information.
|
|
16
|
+
|
|
14
17
|
Please note that software simulators are intended for simple test purposes and will not simulate
|
|
15
18
|
all device behavior correctly, e.g. timing, error conditions, etc.
|
|
16
19
|
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
"""
|
|
2
|
+
This module implements the image display for the N-FEE data and housekeeping.
|
|
3
|
+
|
|
4
|
+
The DPU GUI can be started from the command line with the `dpu_ui` command. The GUI will connect to the
|
|
5
|
+
data distribution port of the DPU Processor. For this to work, you will need to have at least a DPU control server
|
|
6
|
+
running.
|
|
7
|
+
|
|
8
|
+
"""
|
|
1
9
|
import contextlib
|
|
2
10
|
import logging
|
|
3
11
|
import multiprocessing
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
"""
|
|
2
|
+
This module define the FITS generation process.
|
|
3
|
+
|
|
4
|
+
The FITS generation process connects to the monitoring channel of the DPU control server and starts processing
|
|
5
|
+
HDF5 files as soon as they are available. The FITS generation can also be started off-line to process a list
|
|
6
|
+
of HDF5 files or to process a given Observation (OBSID).
|
|
7
|
+
|
|
8
|
+
"""
|
|
1
9
|
import glob
|
|
2
10
|
import logging
|
|
3
11
|
import multiprocessing
|
|
@@ -123,6 +123,8 @@ if __name__ == "__main__":
|
|
|
123
123
|
import sys
|
|
124
124
|
import rich
|
|
125
125
|
|
|
126
|
+
from egse.config import get_common_egse_root
|
|
127
|
+
|
|
126
128
|
parser = argparse.ArgumentParser()
|
|
127
129
|
parser.add_argument(
|
|
128
130
|
"--full",
|
|
@@ -180,6 +182,14 @@ if __name__ == "__main__":
|
|
|
180
182
|
rich.print("Generated locations and filenames")
|
|
181
183
|
|
|
182
184
|
with all_logging_disabled():
|
|
185
|
+
try:
|
|
186
|
+
rich.print(f" {get_common_egse_root() = !s}", flush=True)
|
|
187
|
+
location = get_common_egse_root()
|
|
188
|
+
if not Path(location).exists():
|
|
189
|
+
rich.print("[red]ERROR: The generated Common-EGSE location doesn't exist![/]")
|
|
190
|
+
except ValueError as exc:
|
|
191
|
+
rich.print(f" get_common_egse_path() = [red]{exc}[/]")
|
|
192
|
+
|
|
183
193
|
try:
|
|
184
194
|
rich.print(f" {get_data_storage_location() = }", flush=True)
|
|
185
195
|
location = get_data_storage_location()
|
|
@@ -207,6 +217,7 @@ if __name__ == "__main__":
|
|
|
207
217
|
if args.full:
|
|
208
218
|
rich.print()
|
|
209
219
|
rich.print(f" PYTHONPATH=[default]{os.environ.get('PYTHONPATH')}")
|
|
220
|
+
rich.print(f" PYTHONSTARTUP=[default]{os.environ.get('PYTHONSTARTUP')}")
|
|
210
221
|
rich.print()
|
|
211
222
|
python_path_msg = "\n ".join(sys.path)
|
|
212
223
|
rich.print(f" sys.path=[\n {python_path_msg}\n ]")
|
|
@@ -374,25 +374,27 @@ class SronFovHk(FovHk):
|
|
|
374
374
|
rotx = radians(monitoring_info["alpha"]) # [radians]
|
|
375
375
|
roty = radians(monitoring_info["beta"]) # [radians]
|
|
376
376
|
|
|
377
|
+
if isinstance(roty, float):
|
|
378
|
+
rotx = np.array([rotx])
|
|
379
|
+
roty = np.array([roty])
|
|
380
|
+
|
|
377
381
|
tolerance = 1.e-5
|
|
378
382
|
|
|
379
|
-
#
|
|
383
|
+
# Corrections based on #598
|
|
384
|
+
# Copied from camtest.commanding.function.sron_functions.gimbal_rotations_to_fov_angles
|
|
385
|
+
theta = np.arccos(np.cos(rotx) * np.cos(roty))
|
|
386
|
+
|
|
387
|
+
phi = np.zeros_like(roty)
|
|
380
388
|
|
|
381
|
-
|
|
389
|
+
sel = np.where(np.abs(roty) < tolerance)
|
|
382
390
|
|
|
383
|
-
phi =
|
|
384
|
-
if abs(roty) < tolerance:
|
|
385
|
-
phi = sign(rotx) * pi / 2.
|
|
386
|
-
elif abs(roty) > tolerance:
|
|
387
|
-
phi = atan(sign(roty) * tan(rotx) / sin(roty))
|
|
391
|
+
phi[sel] = np.sign(rotx[sel]) * np.pi/2.
|
|
388
392
|
|
|
389
|
-
|
|
393
|
+
sel = np.where(np.abs(roty) > tolerance)
|
|
390
394
|
|
|
391
|
-
|
|
392
|
-
phi = -180. - phi
|
|
395
|
+
phi[sel] = np.arctan2(-np.sin(-rotx[sel]) * np.cos(roty[sel]), np.sin(roty[sel]))
|
|
393
396
|
|
|
394
|
-
|
|
395
|
-
phi += 360.
|
|
397
|
+
theta, phi = np.rad2deg(theta), np.rad2deg(phi)
|
|
396
398
|
|
|
397
399
|
store_actual_fov_position(theta, phi)
|
|
398
400
|
|
|
@@ -113,11 +113,8 @@ from typing import Any
|
|
|
113
113
|
from typing import Optional
|
|
114
114
|
from typing import Union
|
|
115
115
|
|
|
116
|
-
import pandas
|
|
117
116
|
import rich
|
|
118
117
|
import yaml
|
|
119
|
-
from deepdiff import DeepDiff
|
|
120
|
-
from numpy import genfromtxt
|
|
121
118
|
from rich.tree import Tree
|
|
122
119
|
|
|
123
120
|
from egse.control import Failure
|
|
@@ -154,6 +151,8 @@ def _load_class(class_name: str):
|
|
|
154
151
|
|
|
155
152
|
def _load_csv(resource_name: str):
|
|
156
153
|
"""Find and return the content of a CSV file."""
|
|
154
|
+
from numpy import genfromtxt
|
|
155
|
+
|
|
157
156
|
parts = resource_name[5:].rsplit("/", 1)
|
|
158
157
|
[in_dir, fn] = parts if len(parts) > 1 else [None, parts[0]]
|
|
159
158
|
conf_location = os.environ['PLATO_CONF_DATA_LOCATION']
|
|
@@ -216,6 +215,8 @@ def _load_pandas(resource_name: str, separator: str):
|
|
|
216
215
|
- resource_name: Filename, preceded by "pandas//".
|
|
217
216
|
- separator: Column separator.
|
|
218
217
|
"""
|
|
218
|
+
import pandas
|
|
219
|
+
|
|
219
220
|
parts = resource_name[8:].rsplit("/", 1)
|
|
220
221
|
[in_dir, fn] = parts if len(parts) > 1 else [None, parts[0]]
|
|
221
222
|
conf_location = os.environ['PLATO_CONF_DATA_LOCATION']
|
|
@@ -722,6 +723,7 @@ class Setup(NavigableDict):
|
|
|
722
723
|
def compare(setup_1: NavigableDict, setup_2: NavigableDict):
|
|
723
724
|
from egse.device import DeviceInterface
|
|
724
725
|
from egse.dpu import DPUSimulator
|
|
726
|
+
from deepdiff import DeepDiff
|
|
725
727
|
|
|
726
728
|
return DeepDiff(setup_1, setup_2, exclude_types={DeviceInterface, DPUSimulator})
|
|
727
729
|
|
|
@@ -319,11 +319,11 @@ class Smd3Controller(SerialDevice, Smd3Interface):
|
|
|
319
319
|
|
|
320
320
|
def configure_homing(self):
|
|
321
321
|
self.select_mode(Smd3Mode.HOME)
|
|
322
|
-
self.target_frequency(
|
|
322
|
+
self.target_frequency(500)
|
|
323
323
|
|
|
324
324
|
def configure_remote(self):
|
|
325
325
|
self.select_mode(Smd3Mode.REMOTE)
|
|
326
|
-
self.target_frequency(
|
|
326
|
+
self.target_frequency(1000)
|
|
327
327
|
|
|
328
328
|
def save_status(self, status_word):
|
|
329
329
|
for bits, name in SFLAGS.items():
|
|
@@ -371,15 +371,10 @@ class Smd3Controller(SerialDevice, Smd3Interface):
|
|
|
371
371
|
# Home negative side
|
|
372
372
|
self.home('-')
|
|
373
373
|
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
_, _, velocity = self.actual_frequency()
|
|
377
|
-
while float(velocity) != 0.0:
|
|
378
|
-
_, _, velocity = self.actual_frequency()
|
|
379
|
-
time.sleep(1)
|
|
374
|
+
while not int(self.actual_position()[0], 16) >> 1 & 0x1:
|
|
375
|
+
time.sleep(0.5)
|
|
380
376
|
|
|
381
|
-
|
|
382
|
-
time.sleep(0.1)
|
|
377
|
+
time.sleep(.5)
|
|
383
378
|
|
|
384
379
|
# Reset actual position
|
|
385
380
|
self.actual_position(0.0)
|
|
@@ -9,8 +9,6 @@ from egse.command import ClientServerCommand
|
|
|
9
9
|
from egse.confman import ConfigurationManagerProxy
|
|
10
10
|
from egse.zmq_ser import connect_address
|
|
11
11
|
|
|
12
|
-
from gssw.lib.errors import GsswTimeoutError, PeerException
|
|
13
|
-
|
|
14
12
|
logger = logging.getLogger(__name__)
|
|
15
13
|
|
|
16
14
|
CTRL_SETTINGS = Settings.load("BeagleBone Heater Control Server")
|
|
@@ -291,7 +289,7 @@ class BeagleboneHeaterController(BeagleboneInterface):
|
|
|
291
289
|
return False
|
|
292
290
|
|
|
293
291
|
def is_connected(self):
|
|
294
|
-
return all([heater.connected for heater in self.heaters])
|
|
292
|
+
return all([heater.connected for heater in self.heaters.values()])
|
|
295
293
|
|
|
296
294
|
def connect(self):
|
|
297
295
|
for heater in self.heaters.values():
|
|
@@ -13,8 +13,6 @@ from egse.tempcontrol.beaglebone.beaglebone import BeagleboneCommand
|
|
|
13
13
|
from egse.system import format_datetime
|
|
14
14
|
from egse.zmq_ser import bind_address
|
|
15
15
|
|
|
16
|
-
from gssw.lib.errors import GsswTimeoutError, PeerException, CommunicationError
|
|
17
|
-
|
|
18
16
|
COMMAND_SETTINGS = Settings.load(filename='beaglebone.yaml')
|
|
19
17
|
|
|
20
18
|
logger = logging.getLogger(__name__)
|
|
@@ -22,7 +20,7 @@ logger = logging.getLogger(__name__)
|
|
|
22
20
|
|
|
23
21
|
class BeagleboneProtocol(CommandProtocol):
|
|
24
22
|
|
|
25
|
-
|
|
23
|
+
from gssw.lib.errors import GsswTimeoutError, PeerException, CommunicationError
|
|
26
24
|
|
|
27
25
|
def __init__(self, control_server:ControlServer):
|
|
28
26
|
super().__init__()
|
|
@@ -73,10 +71,10 @@ class BeagleboneProtocol(CommandProtocol):
|
|
|
73
71
|
duty_cycle.append(heater.get_duty_cycle(channel))
|
|
74
72
|
|
|
75
73
|
htr_connected[i] = True
|
|
76
|
-
except CommunicationError as ex:
|
|
74
|
+
except self.CommunicationError as ex:
|
|
77
75
|
logger.error("Could not connect to heater %s: %s", i, ex)
|
|
78
76
|
heater.disconnected()
|
|
79
|
-
except PeerException as ex:
|
|
77
|
+
except self.PeerException as ex:
|
|
80
78
|
logger.warning("Could not retrieve housekeeping from heater %s: %s", i, ex)
|
|
81
79
|
|
|
82
80
|
if not heater.connected:
|
|
@@ -110,10 +108,10 @@ class BeagleboneProtocol(CommandProtocol):
|
|
|
110
108
|
hk_dict[f"GSRON_HTR_R_{i}_{channel}"] = hk_dict[f"GSRON_HTR_V_{i}_{channel}"] / hk_dict[f"GSRON_HTR_I_{i}_{channel}"] \
|
|
111
109
|
if hk_dict[f"GSRON_HTR_I_{i}_{channel}"] else 0
|
|
112
110
|
hk_dict[f"GSRON_HTR_P_{i}_{channel}"] = hk_dict[f"GSRON_HTR_V_{i}_{channel}"] * hk_dict[f"GSRON_HTR_I_{i}_{channel}"]
|
|
113
|
-
except GsswTimeoutError as ex:
|
|
111
|
+
except self.GsswTimeoutError as ex:
|
|
114
112
|
logger.error("Could not connect with Beaglebone heater %s: %s", i, ex)
|
|
115
113
|
heater.disconnected()
|
|
116
|
-
except PeerException as ex:
|
|
114
|
+
except self.PeerException as ex:
|
|
117
115
|
logger.warning("Could not retrieve housekeeping from heater %s: %s", i, ex)
|
|
118
116
|
heater.disconnected()
|
|
119
117
|
|
|
@@ -10,7 +10,11 @@ from egse.reg import RegisterMap
|
|
|
10
10
|
@click.command()
|
|
11
11
|
@click.argument('filename')
|
|
12
12
|
def print_register_map(filename: str | Path):
|
|
13
|
-
"""
|
|
13
|
+
"""
|
|
14
|
+
Prints the Register Map that is saved in the HDF5 file.
|
|
15
|
+
|
|
16
|
+
The FILENAME argument shall be the full path to the HDF5 file from which the register map is requested.
|
|
17
|
+
"""
|
|
14
18
|
|
|
15
19
|
filename = Path(filename)
|
|
16
20
|
|