cgse 2023.37.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.
Files changed (787) hide show
  1. {cgse-2023.37.0/src/cgse.egg-info → cgse-2023.38.0}/PKG-INFO +2 -2
  2. {cgse-2023.37.0 → cgse-2023.38.0}/pyproject.toml +1 -1
  3. {cgse-2023.37.0 → cgse-2023.38.0/src/cgse.egg-info}/PKG-INFO +2 -2
  4. {cgse-2023.37.0 → cgse-2023.38.0}/src/cgse.egg-info/SOURCES.txt +0 -5
  5. {cgse-2023.37.0 → cgse-2023.38.0}/src/cgse.egg-info/requires.txt +1 -1
  6. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/alert/__init__.py +7 -4
  7. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fov/fov_hk.py +14 -12
  8. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/settings.yaml +2 -2
  9. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/print_register_map.py +5 -1
  10. cgse-2023.37.0/src/egse/aeu/arbdata/FccdRead_min_points 2.arb +0 -2
  11. cgse-2023.37.0/src/egse/aeu/arbdata/Heater_FccdRead_min_points 2.arb +0 -2
  12. cgse-2023.37.0/src/scripts/fix_csv 2.py +0 -80
  13. cgse-2023.37.0/src/scripts/n_fee_supply_voltage_calculation 2.py +0 -92
  14. cgse-2023.37.0/src/scripts/update_operational_cgse 2.py +0 -273
  15. {cgse-2023.37.0 → cgse-2023.38.0}/COPYING +0 -0
  16. {cgse-2023.37.0 → cgse-2023.38.0}/COPYING.LESSER +0 -0
  17. {cgse-2023.37.0 → cgse-2023.38.0}/README.md +0 -0
  18. {cgse-2023.37.0 → cgse-2023.38.0}/setup.cfg +0 -0
  19. {cgse-2023.37.0 → cgse-2023.38.0}/src/__init__.py +0 -0
  20. {cgse-2023.37.0 → cgse-2023.38.0}/src/cgse.egg-info/dependency_links.txt +0 -0
  21. {cgse-2023.37.0 → cgse-2023.38.0}/src/cgse.egg-info/entry_points.txt +0 -0
  22. {cgse-2023.37.0 → cgse-2023.38.0}/src/cgse.egg-info/top_level.txt +0 -0
  23. {cgse-2023.37.0 → cgse-2023.38.0}/src/cov_html/keybd_closed.png +0 -0
  24. {cgse-2023.37.0 → cgse-2023.38.0}/src/cov_html/keybd_open.png +0 -0
  25. {cgse-2023.37.0 → cgse-2023.38.0}/src/demos/hexapod_demo.py +0 -0
  26. {cgse-2023.37.0 → cgse-2023.38.0}/src/demos/stages_demo.py +0 -0
  27. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/__init__.py +0 -0
  28. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/__main__.py +0 -0
  29. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/aeu.py +0 -0
  30. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/aeu_awg.yaml +0 -0
  31. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/aeu_crio.yaml +0 -0
  32. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/aeu_cs.py +0 -0
  33. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/aeu_devif.py +0 -0
  34. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/aeu_main_ui.py +0 -0
  35. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/aeu_metrics.py +0 -0
  36. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/aeu_protocol.py +0 -0
  37. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/aeu_psu.yaml +0 -0
  38. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/aeu_ui.py +0 -0
  39. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/FccdRead.arb +0 -0
  40. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/FccdRead_min_points.arb +0 -0
  41. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/HeaterSync_FccdRead.arb +0 -0
  42. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/HeaterSync_ccdRead25.arb +0 -0
  43. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/HeaterSync_ccdRead31_25.arb +0 -0
  44. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/HeaterSync_ccdRead37_50.arb +0 -0
  45. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/HeaterSync_ccdRead43_75.arb +0 -0
  46. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/HeaterSync_ccdRead50.arb +0 -0
  47. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/Heater_FccdRead_min_points.arb +0 -0
  48. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/ccdRead25.arb +0 -0
  49. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/ccdRead25_150ms.arb +0 -0
  50. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/ccdRead31_25.arb +0 -0
  51. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/ccdRead31_25_150ms.arb +0 -0
  52. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/ccdRead37_50.arb +0 -0
  53. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/ccdRead37_50_150ms.arb +0 -0
  54. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/ccdRead43_75.arb +0 -0
  55. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/ccdRead43_75_150ms.arb +0 -0
  56. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/ccdRead50.arb +0 -0
  57. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/aeu/arbdata/ccdRead50_150ms.arb +0 -0
  58. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/alert/alertman.yaml +0 -0
  59. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/alert/alertman_cs.py +0 -0
  60. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/alert/alertman_ui.py +0 -0
  61. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/alert/gsm/beaglebone.py +0 -0
  62. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/alert/gsm/beaglebone.yaml +0 -0
  63. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/alert/gsm/beaglebone_cs.py +0 -0
  64. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/alert/gsm/beaglebone_devif.py +0 -0
  65. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/alert/gsm/beaglebone_protocol.py +0 -0
  66. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/bits.py +0 -0
  67. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/camera.py +0 -0
  68. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/collimator/__init__.py +0 -0
  69. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/collimator/fcul/__init__.py +0 -0
  70. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/collimator/fcul/ogse.py +0 -0
  71. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/collimator/fcul/ogse.yaml +0 -0
  72. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/collimator/fcul/ogse_cs.py +0 -0
  73. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/collimator/fcul/ogse_devif.py +0 -0
  74. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/collimator/fcul/ogse_protocol.py +0 -0
  75. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/collimator/fcul/ogse_sim.py +0 -0
  76. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/collimator/fcul/ogse_ui.py +0 -0
  77. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/command.py +0 -0
  78. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/config.py +0 -0
  79. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/confman/__init__.py +0 -0
  80. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/confman/confman.yaml +0 -0
  81. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/confman/confman_cs.py +0 -0
  82. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/confman/confman_ui.py +0 -0
  83. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/confman/setup_ui.py +0 -0
  84. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/control.py +0 -0
  85. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/coordinates/__init__.py +0 -0
  86. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/coordinates/avoidance.py +0 -0
  87. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/coordinates/cslmodel.py +0 -0
  88. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/coordinates/laser_tracker_to_dict.py +0 -0
  89. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/coordinates/point.py +0 -0
  90. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/coordinates/pyplot.py +0 -0
  91. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/coordinates/referenceFrame.py +0 -0
  92. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/coordinates/refmodel.py +0 -0
  93. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/coordinates/rotationMatrix.py +0 -0
  94. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/coordinates/transform3d_addon.py +0 -0
  95. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/csl/__init__.py +0 -0
  96. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/csl/commanding.py +0 -0
  97. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/csl/icons/hexapod-connected-selected.svg +0 -0
  98. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/csl/icons/hexapod-connected.svg +0 -0
  99. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/csl/icons/hexapod-homing-selected.svg +0 -0
  100. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/csl/icons/hexapod-homing.svg +0 -0
  101. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/csl/icons/hexapod-retract-selected.svg +0 -0
  102. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/csl/icons/hexapod-retract.svg +0 -0
  103. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/csl/icons/hexapod-zero-selected.svg +0 -0
  104. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/csl/icons/hexapod-zero.svg +0 -0
  105. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/csl/icons/logo-puna.svg +0 -0
  106. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/csl/icons/stop.svg +0 -0
  107. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/csl/initialisation.py +0 -0
  108. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/csl/mech_pos_settings.yaml +0 -0
  109. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/das.py +0 -0
  110. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/das.yaml +0 -0
  111. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_CSL_00000_170620_150000.yaml +0 -0
  112. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_CSL_00001_170620_151010.yaml +0 -0
  113. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_CSL_00002_170620_151020.yaml +0 -0
  114. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_CSL_00003_170620_151030.yaml +0 -0
  115. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_CSL_00004_170620_151040.yaml +0 -0
  116. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_CSL_00005_170620_151050.yaml +0 -0
  117. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_CSL_00006_170620_151060.yaml +0 -0
  118. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_CSL_00007_170620_151070.yaml +0 -0
  119. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_CSL_00008_170620_151080.yaml +0 -0
  120. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_CSL_00010_210308_083016.yaml +0 -0
  121. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_INTA_00000_170620_150000.yaml +0 -0
  122. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/data/conf/SETUP_SRON_00000_170620_150000.yaml +0 -0
  123. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/decorators.py +0 -0
  124. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/device.py +0 -0
  125. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/dpu/__init__.py +0 -0
  126. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/dpu/ccd_ui.py +0 -0
  127. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/dpu/dpu.py +0 -0
  128. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/dpu/dpu.yaml +0 -0
  129. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/dpu/dpu_cs.py +0 -0
  130. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/dpu/dpu_ui.py +0 -0
  131. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/dpu/fitsgen.py +0 -0
  132. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/dpu/fitsgen_test.py +0 -0
  133. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/dpu/fitsgen_ui.py +0 -0
  134. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/dpu/hdf5_model.py +0 -0
  135. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/dpu/hdf5_ui.py +0 -0
  136. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/dpu/hdf5_viewer.py +0 -0
  137. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/dpu/hk_ui.py +0 -0
  138. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/dpu_commands.py +0 -0
  139. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/dsi/constants.py +0 -0
  140. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/dsi/esl.py +0 -0
  141. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/dsi/rmap.py +0 -0
  142. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/dsi/rmapci.py +0 -0
  143. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/dsi/spw.py +0 -0
  144. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/dsi/spw_state.py +0 -0
  145. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/dummy.py +0 -0
  146. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/dyndummy.py +0 -0
  147. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/env.py +0 -0
  148. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/exceptions.py +0 -0
  149. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fdir/__init__.py +0 -0
  150. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fdir/fdir_manager.py +0 -0
  151. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fdir/fdir_manager.yaml +0 -0
  152. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fdir/fdir_manager_controller.py +0 -0
  153. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fdir/fdir_manager_cs.py +0 -0
  154. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fdir/fdir_manager_interface.py +0 -0
  155. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fdir/fdir_remote.py +0 -0
  156. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fdir/fdir_remote.yaml +0 -0
  157. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fdir/fdir_remote_controller.py +0 -0
  158. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fdir/fdir_remote_cs.py +0 -0
  159. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fdir/fdir_remote_interface.py +0 -0
  160. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fdir/fdir_remote_popup.py +0 -0
  161. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fee/__init__.py +0 -0
  162. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fee/f_fee_register.yaml +0 -0
  163. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fee/fee.py +0 -0
  164. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fee/feesim.py +0 -0
  165. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fee/n_fee_hk.py +0 -0
  166. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fee/nfee.py +0 -0
  167. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/filterwheel/__init__.py +0 -0
  168. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/__init__.py +0 -0
  169. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc4.py +0 -0
  170. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc4.yaml +0 -0
  171. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc4_cs.py +0 -0
  172. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc4_devif.py +0 -0
  173. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc4_protocol.py +0 -0
  174. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc4_ui.py +0 -0
  175. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc5.py +0 -0
  176. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc5.yaml +0 -0
  177. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc5_controller.py +0 -0
  178. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc5_cs.py +0 -0
  179. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc5_interface.py +0 -0
  180. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc5_simulator.py +0 -0
  181. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/fw8smc5_ui.py +0 -0
  182. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/filterwheel/eksma/testpythonfw.py +0 -0
  183. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fov/__init__.py +0 -0
  184. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fov/fov_ui.py +0 -0
  185. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fov/fov_ui_controller.py +0 -0
  186. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fov/fov_ui_model.py +0 -0
  187. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/fov/fov_ui_view.py +0 -0
  188. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/gimbal/__init__.py +0 -0
  189. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/gimbal/symetrie/__init__.py +0 -0
  190. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/gimbal/symetrie/alpha.py +0 -0
  191. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/gimbal/symetrie/generic_gimbal_ui.py +0 -0
  192. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/gimbal/symetrie/gimbal.py +0 -0
  193. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/gimbal/symetrie/gimbal.yaml +0 -0
  194. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/gimbal/symetrie/gimbal_cs.py +0 -0
  195. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/gimbal/symetrie/gimbal_protocol.py +0 -0
  196. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/gimbal/symetrie/gimbal_ui.py +0 -0
  197. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/gimbal/symetrie/pmac.py +0 -0
  198. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/gimbal/symetrie/pmac_regex.py +0 -0
  199. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/graph.py +0 -0
  200. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/gui/__init__.py +0 -0
  201. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/gui/buttons.py +0 -0
  202. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/gui/focalplane.py +0 -0
  203. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/gui/formatter.py +0 -0
  204. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/gui/led.py +0 -0
  205. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/gui/limitswitch.py +0 -0
  206. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/gui/mechanisms.py +0 -0
  207. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/gui/states.py +0 -0
  208. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/gui/stripchart.py +0 -0
  209. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/gui/switch.py +0 -0
  210. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/h5.py +0 -0
  211. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/help/__init__.py +0 -0
  212. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/help/help_ui.py +0 -0
  213. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/hexapod/__init__.py +0 -0
  214. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/__init__.py +0 -0
  215. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/alpha.py +0 -0
  216. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/dynalpha.py +0 -0
  217. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/hexapod_ui.py +0 -0
  218. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/pmac.py +0 -0
  219. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/pmac_regex.py +0 -0
  220. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/puna.py +0 -0
  221. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/puna.yaml +0 -0
  222. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/puna_cs.py +0 -0
  223. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/puna_protocol.py +0 -0
  224. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/puna_ui.py +0 -0
  225. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/punaplus.py +0 -0
  226. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/zonda.py +0 -0
  227. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/zonda.yaml +0 -0
  228. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/zonda_cs.py +0 -0
  229. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/zonda_devif.py +0 -0
  230. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/zonda_protocol.py +0 -0
  231. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/hexapod/symetrie/zonda_ui.py +0 -0
  232. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/hk.py +0 -0
  233. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/aeu-cs-start.svg +0 -0
  234. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/aeu-cs-stop.svg +0 -0
  235. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/aeu-cs.svg +0 -0
  236. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/aeu_cs-started.svg +0 -0
  237. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/aeu_cs-stopped.svg +0 -0
  238. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/aeu_cs.svg +0 -0
  239. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/alert.svg +0 -0
  240. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/arrow-double-left.png +0 -0
  241. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/arrow-double-right.png +0 -0
  242. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/arrow-up.svg +0 -0
  243. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/backward.svg +0 -0
  244. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/busy.svg +0 -0
  245. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/cleaning.svg +0 -0
  246. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/color-scheme.svg +0 -0
  247. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/cs-connected-alert.svg +0 -0
  248. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/cs-connected-disabled.svg +0 -0
  249. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/cs-connected.svg +0 -0
  250. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/cs-not-connected.svg +0 -0
  251. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/double-left-arrow.svg +0 -0
  252. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/double-right-arrow.svg +0 -0
  253. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/erase-disabled.svg +0 -0
  254. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/erase.svg +0 -0
  255. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/fitsgen-start.svg +0 -0
  256. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/fitsgen-stop.svg +0 -0
  257. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/fitsgen.svg +0 -0
  258. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/forward.svg +0 -0
  259. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/fov-hk-start.svg +0 -0
  260. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/fov-hk-stop.svg +0 -0
  261. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/fov-hk.svg +0 -0
  262. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/front-desk.svg +0 -0
  263. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/home-actioned.svg +0 -0
  264. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/home-disabled.svg +0 -0
  265. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/home.svg +0 -0
  266. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/info.svg +0 -0
  267. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/invalid.png +0 -0
  268. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/led-green.svg +0 -0
  269. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/led-grey.svg +0 -0
  270. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/led-orange.svg +0 -0
  271. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/led-red.svg +0 -0
  272. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/led-square-green.svg +0 -0
  273. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/led-square-grey.svg +0 -0
  274. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/led-square-orange.svg +0 -0
  275. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/led-square-red.svg +0 -0
  276. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/limit-switch-all-green.svg +0 -0
  277. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/limit-switch-all-red.svg +0 -0
  278. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/limit-switch-el+.svg +0 -0
  279. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/limit-switch-el-.svg +0 -0
  280. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/location-marker.svg +0 -0
  281. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/logo-dpu.svg +0 -0
  282. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/logo-gimbal.svg +0 -0
  283. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/logo-huber.svg +0 -0
  284. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/logo-ogse.svg +0 -0
  285. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/logo-puna.svg +0 -0
  286. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/logo-tcs.svg +0 -0
  287. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/logo-zonda.svg +0 -0
  288. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/maximize.svg +0 -0
  289. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/meter.svg +0 -0
  290. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/more.svg +0 -0
  291. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/n-fee-hk-start.svg +0 -0
  292. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/n-fee-hk-stop.svg +0 -0
  293. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/n-fee-hk.svg +0 -0
  294. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/observing-off.svg +0 -0
  295. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/observing-on.svg +0 -0
  296. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/open-document-hdf5.png +0 -0
  297. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/open-document-hdf5.svg +0 -0
  298. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/ops-mode.svg +0 -0
  299. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/play-green.svg +0 -0
  300. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/plugged-disabled.svg +0 -0
  301. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/plugged.svg +0 -0
  302. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/pm_ui.svg +0 -0
  303. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/power-button-green.svg +0 -0
  304. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/power-button-red.svg +0 -0
  305. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/power-button.svg +0 -0
  306. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/radar.svg +0 -0
  307. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/radioactive.svg +0 -0
  308. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/reload.svg +0 -0
  309. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/remote-control-off.svg +0 -0
  310. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/remote-control-on.svg +0 -0
  311. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/repeat-blue.svg +0 -0
  312. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/repeat.svg +0 -0
  313. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/settings.svg +0 -0
  314. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/shrink.svg +0 -0
  315. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/shutter.svg +0 -0
  316. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/sign-off.svg +0 -0
  317. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/sign-on.svg +0 -0
  318. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/sim-mode.svg +0 -0
  319. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/small-buttons-go.svg +0 -0
  320. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/small-buttons-minus.svg +0 -0
  321. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/small-buttons-plus.svg +0 -0
  322. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/sponge.svg +0 -0
  323. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/start-button-disabled.svg +0 -0
  324. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/start-button.svg +0 -0
  325. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/stop-button-disabled.svg +0 -0
  326. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/stop-button.svg +0 -0
  327. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/stop-red.svg +0 -0
  328. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/stop.svg +0 -0
  329. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/switch-disabled-square.svg +0 -0
  330. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/switch-disabled.svg +0 -0
  331. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/switch-off-square.svg +0 -0
  332. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/switch-off.svg +0 -0
  333. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/switch-on-square.svg +0 -0
  334. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/switch-on.svg +0 -0
  335. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/temperature-control.svg +0 -0
  336. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/th_ui_logo.svg +0 -0
  337. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/unplugged.svg +0 -0
  338. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/unvalid.png +0 -0
  339. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/user-interface.svg +0 -0
  340. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/vacuum.svg +0 -0
  341. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/valid.png +0 -0
  342. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/zoom-to-pixel-dark.svg +0 -0
  343. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/icons/zoom-to-pixel-white.svg +0 -0
  344. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/big-rotation-stage.png +0 -0
  345. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/connected-100.png +0 -0
  346. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/cross.svg +0 -0
  347. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/disconnected-100.png +0 -0
  348. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/gui-icon.png +0 -0
  349. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/home.svg +0 -0
  350. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/info-icon.png +0 -0
  351. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/led-black.svg +0 -0
  352. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/led-green.svg +0 -0
  353. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/led-orange.svg +0 -0
  354. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/led-red.svg +0 -0
  355. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/load-icon.png +0 -0
  356. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/load-setup.png +0 -0
  357. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/load.png +0 -0
  358. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/pause.png +0 -0
  359. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/play-button.svg +0 -0
  360. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/play.png +0 -0
  361. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/process-status.png +0 -0
  362. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/restart.png +0 -0
  363. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/search.png +0 -0
  364. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/sma.png +0 -0
  365. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/start.png +0 -0
  366. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/stop-button.svg +0 -0
  367. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/stop.png +0 -0
  368. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/switch-off.svg +0 -0
  369. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/switch-on.svg +0 -0
  370. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/undo.png +0 -0
  371. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/images/update-button.svg +0 -0
  372. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/imageviewer/exposureselection.py +0 -0
  373. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/imageviewer/imageviewer.py +0 -0
  374. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/imageviewer/matchfocalplane.py +0 -0
  375. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/imageviewer/subfieldposition.py +0 -0
  376. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lampcontrol/__init__.py +0 -0
  377. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lampcontrol/beaglebone/beaglebone.py +0 -0
  378. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lampcontrol/beaglebone/beaglebone.yaml +0 -0
  379. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lampcontrol/beaglebone/beaglebone_cs.py +0 -0
  380. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lampcontrol/beaglebone/beaglebone_devif.py +0 -0
  381. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lampcontrol/beaglebone/beaglebone_protocol.py +0 -0
  382. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lampcontrol/energetiq/__init__.py +0 -0
  383. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lampcontrol/energetiq/eq99.yaml +0 -0
  384. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lampcontrol/energetiq/lampEQ99.py +0 -0
  385. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lampcontrol/energetiq/lampEQ99_cs.py +0 -0
  386. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lampcontrol/energetiq/lampEQ99_devif.py +0 -0
  387. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lampcontrol/energetiq/lampEQ99_encode_decode_errors.py +0 -0
  388. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lampcontrol/energetiq/lampEQ99_protocol.py +0 -0
  389. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lampcontrol/energetiq/lampEQ99_ui.py +0 -0
  390. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/CentOS-7/EtherSpaceLink_v34_86.dylib +0 -0
  391. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/CentOS-8/ESL-RMAP_v34_86.dylib +0 -0
  392. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/CentOS-8/EtherSpaceLink_v34_86.dylib +0 -0
  393. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/Debian/ESL-RMAP_v34_86.dylib +0 -0
  394. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/Debian/EtherSpaceLink_v34_86.dylib +0 -0
  395. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/Debian/libetherspacelink_v35_21.dylib +0 -0
  396. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/Linux/ESL-RMAP_v34_86.dylib +0 -0
  397. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/Linux/EtherSpaceLink_v34_86.dylib +0 -0
  398. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/Ubuntu-20/ESL-RMAP_v34_86.dylib +0 -0
  399. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/Ubuntu-20/EtherSpaceLink_v34_86.dylib +0 -0
  400. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/gssw/python3-gssw_2.2.3+31f63c9f-1_all.deb +0 -0
  401. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/macOS/ESL-RMAP_v34_86.dylib +0 -0
  402. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/macOS/EtherSpaceLink_v34_86.dylib +0 -0
  403. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/ximc/__pycache__/pyximc.cpython-38 2.pyc +0 -0
  404. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/ximc/__pycache__/pyximc.cpython-38.pyc +0 -0
  405. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/ximc/libximc.framework/Frameworks/libbindy.dylib +0 -0
  406. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/ximc/libximc.framework/Frameworks/libxiwrapper.dylib +0 -0
  407. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/ximc/libximc.framework/Headers/ximc.h +0 -0
  408. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/ximc/libximc.framework/Resources/Info.plist +0 -0
  409. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/ximc/libximc.framework/Resources/keyfile.sqlite +0 -0
  410. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/ximc/libximc.framework/libbindy.so +0 -0
  411. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/ximc/libximc.framework/libximc +0 -0
  412. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/ximc/libximc.framework/libximc.so +0 -0
  413. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/ximc/libximc.framework/libximc.so.7.0.0 +0 -0
  414. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/ximc/libximc.framework/libxiwrapper.so +0 -0
  415. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/lib/ximc/pyximc.py +0 -0
  416. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/listener.py +0 -0
  417. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/logger/__init__.py +0 -0
  418. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/logger/log_cs.py +0 -0
  419. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/metrics.py +0 -0
  420. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/mixin.py +0 -0
  421. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/monitoring.py +0 -0
  422. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/ni/alarms/__init__.py +0 -0
  423. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/ni/alarms/cdaq9375.py +0 -0
  424. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/ni/alarms/cdaq9375.yaml +0 -0
  425. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/ni/alarms/cdaq9375_cs.py +0 -0
  426. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/ni/alarms/cdaq9375_devif.py +0 -0
  427. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/ni/alarms/cdaq9375_protocol.py +0 -0
  428. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/obs_inspection.py +0 -0
  429. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/observer.py +0 -0
  430. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/obsid.py +0 -0
  431. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/powermeter/__init__.py +0 -0
  432. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/powermeter/ni/__init__.py +0 -0
  433. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/powermeter/ni/cdaq9184.py +0 -0
  434. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/powermeter/ni/cdaq9184.yaml +0 -0
  435. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/powermeter/ni/cdaq9184_cs.py +0 -0
  436. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/powermeter/ni/cdaq9184_devif.py +0 -0
  437. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/powermeter/ni/cdaq9184_protocol.py +0 -0
  438. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/powermeter/ni/cdaq9184_ui.py +0 -0
  439. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/powermeter/thorlabs/__init__.py +0 -0
  440. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/powermeter/thorlabs/pm100a.py +0 -0
  441. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/powermeter/thorlabs/pm100a.yaml +0 -0
  442. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/powermeter/thorlabs/pm100a_cs.py +0 -0
  443. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/powermeter/thorlabs/pm100a_devif.py +0 -0
  444. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/powermeter/thorlabs/pm100a_protocol.py +0 -0
  445. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/powermeter/thorlabs/pm100a_ui.py +0 -0
  446. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/process.py +0 -0
  447. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/procman/__init__.py +0 -0
  448. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/procman/cannot_start_process_popup.py +0 -0
  449. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/procman/procman.yaml +0 -0
  450. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/procman/procman_cs.py +0 -0
  451. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/procman/procman_ui.py +0 -0
  452. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/protocol.py +0 -0
  453. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/proxy.py +0 -0
  454. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/randomwalk.py +0 -0
  455. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/reg.py +0 -0
  456. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/reload.py +0 -0
  457. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/reprocess.py +0 -0
  458. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/resource.py +0 -0
  459. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/rst.py +0 -0
  460. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/search.py +0 -0
  461. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/serialdevice.py +0 -0
  462. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/services.py +0 -0
  463. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/services.yaml +0 -0
  464. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/settings.py +0 -0
  465. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/setup.py +0 -0
  466. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/shutter/__init__.py +0 -0
  467. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/__init__.py +0 -0
  468. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/ksc101.py +0 -0
  469. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/ksc101.yaml +0 -0
  470. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/ksc101_cs.py +0 -0
  471. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/ksc101_devif.py +0 -0
  472. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/ksc101_protocol.py +0 -0
  473. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/ksc101_ui.py +0 -0
  474. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/sc10.py +0 -0
  475. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/sc10.yaml +0 -0
  476. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/sc10_controller.py +0 -0
  477. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/sc10_cs.py +0 -0
  478. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/sc10_interface.py +0 -0
  479. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/shutter/thorlabs/sc10_simulator.py +0 -0
  480. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/simulator.py +0 -0
  481. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/slack.py +0 -0
  482. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/socketdevice.py +0 -0
  483. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/sockets.py +0 -0
  484. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/spw.py +0 -0
  485. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/__init__.py +0 -0
  486. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/aerotech/ensemble.py +0 -0
  487. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/aerotech/ensemble.yaml +0 -0
  488. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/aerotech/ensemble_controller.py +0 -0
  489. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/aerotech/ensemble_cs.py +0 -0
  490. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/aerotech/ensemble_interface.py +0 -0
  491. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/aerotech/ensemble_parameters.py +0 -0
  492. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/aerotech/ensemble_simulator.py +0 -0
  493. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/aerotech/mgse_sim.py +0 -0
  494. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/arun/smd3.py +0 -0
  495. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/arun/smd3.yaml +0 -0
  496. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/arun/smd3_controller.py +0 -0
  497. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/arun/smd3_cs.py +0 -0
  498. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/arun/smd3_interface.py +0 -0
  499. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/arun/smd3_simulator.py +0 -0
  500. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/arun/smd3_stop.py +0 -0
  501. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/huber/__init__.py +0 -0
  502. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/huber/smc9300.py +0 -0
  503. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/huber/smc9300.yaml +0 -0
  504. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/huber/smc9300_cs.py +0 -0
  505. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/huber/smc9300_devif.py +0 -0
  506. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/huber/smc9300_protocol.py +0 -0
  507. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/huber/smc9300_sim.py +0 -0
  508. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/stages/huber/smc9300_ui.py +0 -0
  509. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/state.py +0 -0
  510. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/statemachine.py +0 -0
  511. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/storage/__init__.py +0 -0
  512. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/storage/persistence.py +0 -0
  513. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/storage/storage.yaml +0 -0
  514. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/storage/storage_cs.py +0 -0
  515. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/styles/dark.qss +0 -0
  516. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/styles/default.qss +0 -0
  517. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/synoptics/__init__.py +0 -0
  518. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/synoptics/syn.yaml +0 -0
  519. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/synoptics/syn_cs.py +0 -0
  520. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/system.py +0 -0
  521. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tcs/__init__.py +0 -0
  522. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tcs/tcs.py +0 -0
  523. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tcs/tcs.yaml +0 -0
  524. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tcs/tcs_cs.py +0 -0
  525. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tcs/tcs_devif.py +0 -0
  526. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tcs/tcs_protocol.py +0 -0
  527. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tcs/tcs_sim.py +0 -0
  528. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tcs/tcs_ui.py +0 -0
  529. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tdms.py +0 -0
  530. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/__init__.py +0 -0
  531. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/agilent/agilent34970.py +0 -0
  532. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/agilent/agilent34970.yaml +0 -0
  533. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/agilent/agilent34970_cs.py +0 -0
  534. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/agilent/agilent34970_devif.py +0 -0
  535. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/agilent/agilent34970_protocol.py +0 -0
  536. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/agilent/agilent34972.py +0 -0
  537. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/agilent/agilent34972.yaml +0 -0
  538. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/agilent/agilent34972_cs.py +0 -0
  539. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/agilent/agilent34972_devif.py +0 -0
  540. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/agilent/agilent34972_protocol.py +0 -0
  541. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/beaglebone/beaglebone.py +0 -0
  542. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/beaglebone/beaglebone.yaml +0 -0
  543. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/beaglebone/beaglebone_cs.py +0 -0
  544. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/beaglebone/beaglebone_protocol.py +0 -0
  545. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/beaglebone/beaglebone_ui.py +0 -0
  546. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/digalox/digalox.py +0 -0
  547. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/digalox/digalox.yaml +0 -0
  548. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/digalox/digalox_cs.py +0 -0
  549. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/digalox/digalox_protocol.py +0 -0
  550. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/keithley/__init__.py +0 -0
  551. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/keithley/daq6510.py +0 -0
  552. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/keithley/daq6510.yaml +0 -0
  553. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/keithley/daq6510_cs.py +0 -0
  554. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/keithley/daq6510_devif.py +0 -0
  555. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/keithley/daq6510_protocol.py +0 -0
  556. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/keithley/daq6510_sim.py +0 -0
  557. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/lakeshore/__init__.py +0 -0
  558. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/lakeshore/lsci.py +0 -0
  559. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/lakeshore/lsci.yaml +0 -0
  560. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/lakeshore/lsci_cs.py +0 -0
  561. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/lakeshore/lsci_devif.py +0 -0
  562. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/lakeshore/lsci_protocol.py +0 -0
  563. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/lakeshore/lsci_ui.py +0 -0
  564. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/ni/__init__.py +0 -0
  565. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/spid/spid.py +0 -0
  566. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/spid/spid.yaml +0 -0
  567. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/spid/spid_controller.py +0 -0
  568. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/spid/spid_cs.py +0 -0
  569. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/spid/spid_protocol.py +0 -0
  570. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/spid/spid_ui.py +0 -0
  571. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/srs/__init__.py +0 -0
  572. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/srs/ptc10.py +0 -0
  573. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/srs/ptc10.yaml +0 -0
  574. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/srs/ptc10_cs.py +0 -0
  575. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/srs/ptc10_devif.py +0 -0
  576. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/srs/ptc10_protocol.py +0 -0
  577. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/tempcontrol/srs/ptc10_ui.py +0 -0
  578. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/ups/apc/apc.py +0 -0
  579. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/ups/apc/apc.yaml +0 -0
  580. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/ups/apc/apc_cs.py +0 -0
  581. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/ups/apc/apc_protocol.py +0 -0
  582. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/user.yaml +0 -0
  583. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/beaglebone/beaglebone.py +0 -0
  584. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/beaglebone/beaglebone.yaml +0 -0
  585. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/beaglebone/beaglebone_cs.py +0 -0
  586. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/beaglebone/beaglebone_devif.py +0 -0
  587. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/beaglebone/beaglebone_protocol.py +0 -0
  588. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/beaglebone/beaglebone_ui.py +0 -0
  589. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/instrutech/igm402.py +0 -0
  590. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/instrutech/igm402.yaml +0 -0
  591. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/instrutech/igm402_controller.py +0 -0
  592. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/instrutech/igm402_cs.py +0 -0
  593. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/instrutech/igm402_interface.py +0 -0
  594. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/instrutech/igm402_simulator.py +0 -0
  595. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/keller/kellerBus.py +0 -0
  596. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/keller/leo3.py +0 -0
  597. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/keller/leo3.yaml +0 -0
  598. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/keller/leo3_controller.py +0 -0
  599. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/keller/leo3_cs.py +0 -0
  600. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/keller/leo3_interface.py +0 -0
  601. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/mks/evision.py +0 -0
  602. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/mks/evision.yaml +0 -0
  603. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/mks/evision_cs.py +0 -0
  604. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/mks/evision_devif.py +0 -0
  605. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/mks/evision_interface.py +0 -0
  606. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/mks/evision_simulator.py +0 -0
  607. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/mks/evision_ui.py +0 -0
  608. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/acp40.py +0 -0
  609. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/acp40.yaml +0 -0
  610. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/acp40_controller.py +0 -0
  611. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/acp40_cs.py +0 -0
  612. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/acp40_interface.py +0 -0
  613. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/acp40_simulator.py +0 -0
  614. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tc400.py +0 -0
  615. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tc400.yaml +0 -0
  616. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tc400_controller.py +0 -0
  617. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tc400_cs.py +0 -0
  618. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tc400_interface.py +0 -0
  619. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tc400_simulator.py +0 -0
  620. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tpg261.py +0 -0
  621. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tpg261.yaml +0 -0
  622. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tpg261_controller.py +0 -0
  623. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tpg261_cs.py +0 -0
  624. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tpg261_interface.py +0 -0
  625. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/vacuum/pfeiffer/tpg261_simulator.py +0 -0
  626. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/version.py +0 -0
  627. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/visitedpositions.py +0 -0
  628. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/windowing.py +0 -0
  629. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/zmq/__init__.py +0 -0
  630. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/zmq/spw.py +0 -0
  631. {cgse-2023.37.0 → cgse-2023.38.0}/src/egse/zmq_ser.py +0 -0
  632. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/alerts/cold.yaml +0 -0
  633. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/alerts/example_alerts.yaml +0 -0
  634. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/alerts/transition.yaml +0 -0
  635. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/alerts/warm.yaml +0 -0
  636. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/analyse_n_fee_hk_data.py +0 -0
  637. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/check_hdf5_files.py +0 -0
  638. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/check_register_sync.py +0 -0
  639. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/create_hdf5_report.py +0 -0
  640. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/csl_model.py +0 -0
  641. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/csl_restore_setup.py +0 -0
  642. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/export-grafana-dashboards.py +0 -0
  643. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/fdir/cs_recovery/fdir_cs_recovery.py +0 -0
  644. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/fdir/fdir_table.yaml +0 -0
  645. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/fdir/fdir_test_recovery.py +0 -0
  646. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/fdir/hw_recovery/fdir_agilent_hw_recovery.py +0 -0
  647. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/fdir/limit_recovery/fdir_agilent_limit.py +0 -0
  648. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/fdir/limit_recovery/fdir_bb_heater_limit.py +0 -0
  649. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/fdir/limit_recovery/fdir_ensemble_limit.py +0 -0
  650. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/fdir/limit_recovery/fdir_pressure_limit_recovery.py +0 -0
  651. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/fix_csv.py +0 -0
  652. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/n_fee_supply_voltage_calculation.py +0 -0
  653. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/playground.py +0 -0
  654. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/print_hdf5_hk_data.py +0 -0
  655. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/sron/commanding/control_heaters.py +0 -0
  656. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/sron/commanding/pumpdown.py +0 -0
  657. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/sron/commanding/set_pid_setpoint.py +0 -0
  658. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/sron/commanding/shutdown_bbb_heaters.py +0 -0
  659. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/sron/commanding/shutdown_pumps.py +0 -0
  660. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/sron/tm_gen/tm_gen_agilent.py +0 -0
  661. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/sron/tm_gen/tm_gen_heaters.py +0 -0
  662. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/sron/tm_gen/tm_gen_spid.py +0 -0
  663. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/update_operational_cgse.py +0 -0
  664. {cgse-2023.37.0 → cgse-2023.38.0}/src/scripts/update_operational_cgse_old.py +0 -0
  665. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/conftest.py +0 -0
  666. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/data/CSL/conf/SETUP_CSL_00028_201028_155259.yaml +0 -0
  667. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/data/CSL/conf/SETUP_CSL_00029_201028_155331.yaml +0 -0
  668. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/data/CSL/conf/SETUP_CSL_00030_210311_134043.yaml +0 -0
  669. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/data/CSL/conf/SETUP_CSL_00080_210917_105245.yaml +0 -0
  670. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/data/CSL/conf/SETUP_CSL_00081_210922_142259.yaml +0 -0
  671. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/data/CSL/conf/SETUP_CSL_00082_210923_094458.yaml +0 -0
  672. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/data/SRON/conf/SETUP_SRON_00027_211119_140441.yaml +0 -0
  673. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/data/SRON/conf/SETUP_SRON_00028_211119_160406.yaml +0 -0
  674. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/data/SRON/conf/SETUP_SRON_00029_211119_172918.yaml +0 -0
  675. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/data/SRON/conf/SETUP_SRON_00030_211122_103604.yaml +0 -0
  676. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/data/SRON/conf/SETUP_SRON_00031_211123_124900.yaml +0 -0
  677. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/data/calibration.yaml +0 -0
  678. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/data/conf/SETUP_CSL_00000_170620_150000.yaml +0 -0
  679. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/data/conf/SETUP_CSL_00001_170620_151010.yaml +0 -0
  680. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/data/conf/SETUP_CSL_00010_210308_083016.yaml +0 -0
  681. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/data/confman_settings.yaml +0 -0
  682. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/data/corrupt.yaml +0 -0
  683. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/data/empty.yaml +0 -0
  684. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/data/settings.yaml +0 -0
  685. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/data/test_setup.yaml +0 -0
  686. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/helper.py +0 -0
  687. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/itest_dpu_ui.py +0 -0
  688. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/scripts/dummy_cs.py +0 -0
  689. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/scripts/empty_process.py +0 -0
  690. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/scripts/void-0.py +0 -0
  691. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/scripts/void-1.py +0 -0
  692. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_aeu.py +0 -0
  693. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_aeu_simulator.py +0 -0
  694. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_automatic_dump_mode.py +0 -0
  695. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_avoidance.py +0 -0
  696. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_bits.py +0 -0
  697. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_cm_cs.py +0 -0
  698. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_command.py +0 -0
  699. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_config.py +0 -0
  700. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_confman.py +0 -0
  701. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_confman_controller.py +0 -0
  702. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_confman_functions.py +0 -0
  703. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_constants.py +0 -0
  704. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_coordinates_plot.py +0 -0
  705. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_coordinates_serialize.py +0 -0
  706. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_daq6510.py +0 -0
  707. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_decorators.py +0 -0
  708. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_device.py +0 -0
  709. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_dpu_functions.py +0 -0
  710. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_dpu_internals.py +0 -0
  711. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_dpu_monitoring.py +0 -0
  712. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_dpu_nfee_state.py +0 -0
  713. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_dpu_send_commands.py +0 -0
  714. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_dsi.py +0 -0
  715. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_env.py +0 -0
  716. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_esl.py +0 -0
  717. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_fee.py +0 -0
  718. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_feesim.py +0 -0
  719. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_filterwheel_eksma.py +0 -0
  720. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_fixture_with_lru_cache.py +0 -0
  721. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_fov_hk__ias.py +0 -0
  722. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_gimbal.py +0 -0
  723. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_graph.py +0 -0
  724. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_hexapod.py +0 -0
  725. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_hexapod_simulator.py +0 -0
  726. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_hexapod_zonda.py +0 -0
  727. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_hk.py +0 -0
  728. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_huber.py +0 -0
  729. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_huber_dev.py +0 -0
  730. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_imports.py +0 -0
  731. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_lakeshore.py +0 -0
  732. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_lakeshore_simulator.py +0 -0
  733. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_lampEQ99_encode_decode_errors.py +0 -0
  734. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_lampcontrol_energetiq.py +0 -0
  735. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_listener.py +0 -0
  736. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_logger.py +0 -0
  737. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_metrics.py +0 -0
  738. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_mixin.py +0 -0
  739. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_n_fee.py +0 -0
  740. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_n_fee_hk.py +0 -0
  741. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_n_fee_side.py +0 -0
  742. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_obs.py +0 -0
  743. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_obsid.py +0 -0
  744. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_ogse_functions.py +0 -0
  745. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_ogse_sim.py +0 -0
  746. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_persistence.py +0 -0
  747. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_persistence_hdf5.py +0 -0
  748. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_persistence_sqlite.py +0 -0
  749. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_pmac.py +0 -0
  750. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_pmac_regex.py +0 -0
  751. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_point.py +0 -0
  752. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_process.py +0 -0
  753. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_process_status.py +0 -0
  754. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_proxy.py +0 -0
  755. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_proxy_state.py +0 -0
  756. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_puna.py +0 -0
  757. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_puna_plus.py +0 -0
  758. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_ref_model.py +0 -0
  759. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_reference_frames.py +0 -0
  760. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_refmodel.py +0 -0
  761. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_reg.py +0 -0
  762. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_reload.py +0 -0
  763. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_resource.py +0 -0
  764. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_response.py +0 -0
  765. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_rmap.py +0 -0
  766. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_search.py +0 -0
  767. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_services.py +0 -0
  768. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_settings.py +0 -0
  769. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_setup.py +0 -0
  770. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_slack.py +0 -0
  771. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_spw.py +0 -0
  772. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_stages.py +0 -0
  773. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_state.py +0 -0
  774. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_storage.py +0 -0
  775. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_storage_controller.py +0 -0
  776. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_storage_counter.py +0 -0
  777. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_storage_filename.py +0 -0
  778. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_syn_cs.py +0 -0
  779. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_system.py +0 -0
  780. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_tcs.py +0 -0
  781. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_tdms.py +0 -0
  782. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_thorlabs_controller.py +0 -0
  783. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_thorlabs_proxy.py +0 -0
  784. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_thorlabs_simulator.py +0 -0
  785. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_twos_complement.py +0 -0
  786. {cgse-2023.37.0 → cgse-2023.38.0}/src/tests/test_version.py +0 -0
  787. {cgse-2023.37.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.37.0
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
@@ -16,7 +16,7 @@ Description-Content-Type: text/x-rst
16
16
  License-File: COPYING
17
17
  License-File: COPYING.LESSER
18
18
  Requires-Dist: apscheduler
19
- Requires-Dist: astropy==4.0
19
+ Requires-Dist: astropy
20
20
  Requires-Dist: click
21
21
  Requires-Dist: deepdiff
22
22
  Requires-Dist: distro
@@ -27,7 +27,7 @@ classifiers = [
27
27
 
28
28
  dependencies = [
29
29
  "apscheduler",
30
- "astropy == 4.0", # see issue #1306
30
+ "astropy",
31
31
  "click",
32
32
  "deepdiff",
33
33
  "distro",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cgse
3
- Version: 2023.37.0
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
@@ -16,7 +16,7 @@ Description-Content-Type: text/x-rst
16
16
  License-File: COPYING
17
17
  License-File: COPYING.LESSER
18
18
  Requires-Dist: apscheduler
19
- Requires-Dist: astropy==4.0
19
+ Requires-Dist: astropy
20
20
  Requires-Dist: click
21
21
  Requires-Dist: deepdiff
22
22
  Requires-Dist: distro
@@ -80,7 +80,6 @@ src/egse/aeu/aeu_protocol.py
80
80
  src/egse/aeu/aeu_psu.yaml
81
81
  src/egse/aeu/aeu_ui.py
82
82
  src/egse/aeu/arbdata/FccdRead.arb
83
- src/egse/aeu/arbdata/FccdRead_min_points 2.arb
84
83
  src/egse/aeu/arbdata/FccdRead_min_points.arb
85
84
  src/egse/aeu/arbdata/HeaterSync_FccdRead.arb
86
85
  src/egse/aeu/arbdata/HeaterSync_ccdRead25.arb
@@ -88,7 +87,6 @@ src/egse/aeu/arbdata/HeaterSync_ccdRead31_25.arb
88
87
  src/egse/aeu/arbdata/HeaterSync_ccdRead37_50.arb
89
88
  src/egse/aeu/arbdata/HeaterSync_ccdRead43_75.arb
90
89
  src/egse/aeu/arbdata/HeaterSync_ccdRead50.arb
91
- src/egse/aeu/arbdata/Heater_FccdRead_min_points 2.arb
92
90
  src/egse/aeu/arbdata/Heater_FccdRead_min_points.arb
93
91
  src/egse/aeu/arbdata/ccdRead25.arb
94
92
  src/egse/aeu/arbdata/ccdRead25_150ms.arb
@@ -630,14 +628,11 @@ src/scripts/create_hdf5_report.py
630
628
  src/scripts/csl_model.py
631
629
  src/scripts/csl_restore_setup.py
632
630
  src/scripts/export-grafana-dashboards.py
633
- src/scripts/fix_csv 2.py
634
631
  src/scripts/fix_csv.py
635
- src/scripts/n_fee_supply_voltage_calculation 2.py
636
632
  src/scripts/n_fee_supply_voltage_calculation.py
637
633
  src/scripts/playground.py
638
634
  src/scripts/print_hdf5_hk_data.py
639
635
  src/scripts/print_register_map.py
640
- src/scripts/update_operational_cgse 2.py
641
636
  src/scripts/update_operational_cgse.py
642
637
  src/scripts/update_operational_cgse_old.py
643
638
  src/scripts/alerts/cold.yaml
@@ -1,5 +1,5 @@
1
1
  apscheduler
2
- astropy==4.0
2
+ astropy
3
3
  click
4
4
  deepdiff
5
5
  distro
@@ -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
- self.value = value
397
+ if isinstance(value, str):
398
+ value = eval(value)
399
+
400
+ self.value = int(value)
398
401
 
399
- if (int(value) >> self.configuration.limits['mask']) & 0b1:
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,
@@ -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
- # Gnomonic distance to optical axis and in-field angle [degrees]
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
- theta = degrees(acos(cos(rotx) * cos(roty))) # [degrees]
389
+ sel = np.where(np.abs(roty) < tolerance)
382
390
 
383
- phi = 0.0
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
- phi = degrees(phi) # [degrees]
393
+ sel = np.where(np.abs(roty) > tolerance)
390
394
 
391
- if roty < 0:
392
- phi = -180. - phi
395
+ phi[sel] = np.arctan2(-np.sin(-rotx[sel]) * np.cos(roty[sel]), np.sin(roty[sel]))
393
396
 
394
- if phi < -180:
395
- phi += 360.
397
+ theta, phi = np.rad2deg(theta), np.rad2deg(phi)
396
398
 
397
399
  store_actual_fov_position(theta, phi)
398
400
 
@@ -1,6 +1,6 @@
1
1
  Common-EGSE:
2
- VERSION: 2023.37.0+CGSE # bump version here and below
3
- RELEASE: September 2023, 2023.37.0+CGSE
2
+ VERSION: 2023.38.0+CGSE # bump version here and below
3
+ RELEASE: September 2023, 2023.38.0+CGSE
4
4
 
5
5
  SITE:
6
6
  ID: XXX
@@ -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
- """Prints the Register Map that is saved in the HDF5 file."""
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
 
@@ -1,2 +0,0 @@
1
- HEX
2
- 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 8001 8001 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 8001 8001 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 8001 8001 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 8001 8001 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 7FFF 8001 8001
@@ -1,2 +0,0 @@
1
- HEX
2
- 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 8001 7FFF 7FFF
@@ -1,80 +0,0 @@
1
- """
2
- Small script to fix some problems with CSV files.
3
-
4
- All the functions are written for a specific problem, you might need to run the script for
5
- several functions to fix different problems.
6
-
7
- Synopsis:
8
-
9
- $ python3 fix_csv.py original_input.csv out.csv --function newlines
10
- $ python3 fix_csv.py out.csv out2.csv --function vbar
11
-
12
- """
13
- def fix_newlines_in_fields(input_file, output_file, delimiter: str = ','):
14
- """
15
- Sometimes we have seen that a field contains a newline character (usually due to an error
16
- in processing the response from a device where the trailing newline was not removed). This
17
- function tries to fix that problem.
18
-
19
- Args:
20
- input_file: the original CSV file where the problem occurs
21
- output_file: the file with the fixed lines
22
- delimiter: the delimiter that is used for the CSV [default=',']
23
-
24
- Returns:
25
- None.
26
- """
27
-
28
- with open(input_file, 'r') as fd:
29
- lines = fd.read().split('\n')
30
- fixed_lines = []
31
- prev_line = None
32
-
33
- for line in lines:
34
- if prev_line is None:
35
- # We assume the first row in the CSV file has the correct number of fields
36
- expected_num_delimiters = line.count(delimiter)
37
- prev_line = line
38
- elif prev_line.count(delimiter) < expected_num_delimiters:
39
- prev_line += line
40
- else:
41
- fixed_lines.append(prev_line)
42
- prev_line = line
43
-
44
- if prev_line is not None:
45
- fixed_lines.append(prev_line)
46
-
47
- with open(output_file, 'w', newline='\n') as fd:
48
- fd.writelines([f"{x}\n" for x in fixed_lines])
49
-
50
- def fix_vertical_bar(input_file, output_file, delimiter: str = ','):
51
- """Removes all vertical bar '|' characters from the file."""
52
-
53
- with open(input_file, 'r') as fd:
54
- lines = fd.read().split('\n')
55
- fixed_lines = [line.replace('|', '') for line in lines]
56
-
57
- with open(output_file, 'w', newline='\n') as fd:
58
- fd.writelines([f"{x}\n" for x in fixed_lines])
59
-
60
-
61
- if __name__ == '__main__':
62
-
63
- import argparse
64
-
65
- parser = argparse.ArgumentParser(description="Script to fix several CSV issues")
66
-
67
- parser.add_argument("input_file", help="Path to the input file")
68
- parser.add_argument("output_file", help="Path to the output file")
69
-
70
- parser.add_argument('--function', default='newlines', choices=('newlines', 'vbar'),
71
- help="Function to apply to the input file. Default: 'newlines'")
72
-
73
- args = parser.parse_args()
74
-
75
- if args.function == "newlines":
76
- fix_newlines_in_fields(args.input_file, args.output_file)
77
- elif args.function == "vbar":
78
- fix_vertical_bar(args.input_file, args.output_file)
79
- else:
80
- print(f"Invalid function argument given: {args.function}.")
@@ -1,92 +0,0 @@
1
- import pandas
2
- from math import isnan
3
- from egse.hk import read_conversion_dict
4
- from egse.fee.n_fee_hk import ORIGIN
5
-
6
- filename = "/Users/sara/work/Instrumentation/Plato/data/PLATO-MSSL-PL-FI-0063_1.1_N-FEE_PFM_HK_Calibrations_File.xlsx"
7
-
8
-
9
- def print_temperature_calibration(filename: str):
10
- table = pandas.read_excel(filename, sheet_name="HK & DAC Calibrations",
11
- usecols="B, E, F, I, J",
12
- names=["mssl_names", "gain1", "offset1", "gain2", "offset2"])
13
-
14
- mssl_names = table["mssl_names"]
15
- gain1 = table["gain1"]
16
- offset1 = table["offset1"]
17
- gain2 = table["gain2"]
18
- offset2 = table["offset2"]
19
-
20
- hk_name_mapping = read_conversion_dict(ORIGIN, use_site=False)
21
-
22
- for index in range(len(mssl_names)):
23
- mssl_name = mssl_names[index]
24
-
25
- if isinstance(mssl_name, str) and "[" in mssl_name and "]" in mssl_name:
26
- mssl_name = mssl_name.split("[")[0]
27
- egse_name = hk_name_mapping[mssl_name]
28
-
29
- is_temperature_calibration = "_T_" in egse_name or "TRP" in egse_name
30
- if is_temperature_calibration:
31
- print(f"\t{egse_name} ({mssl_name}):")
32
- # print(gain1[index], offset1[index])
33
-
34
- if "TSENSE" in mssl_name:
35
- print(f"\t\tcounts_to_temperature_gain: {gain1[index]}")
36
- print(f"\tcounts_to_temperature_offset: {offset1[index]}")
37
-
38
- else:
39
- print(f"\t\tcounts_to_resistance_gain: {gain2[index]}")
40
- print(f"\t\toffset: {offset2[index]}")
41
- print(f"\t\tresistance_to_temperature:")
42
-
43
- if "CCD" in mssl_name:
44
- print(f"\t\t\tmethod: polynomial")
45
- print(f"\t\t\ttemperature_to_resistance_coefficients: XXX")
46
- else:
47
- print(f"\t\t\tmethod: callendar_van_dusen")
48
- print(f"\t\t\tstandard: EN60751")
49
- print(f"\t\t\tref_resistance: 1000")
50
-
51
-
52
- def print_supply_voltage_calibration(filename: str):
53
- table = pandas.read_excel(filename, sheet_name="HK & DAC Calibrations",
54
- usecols="B, T, U, E, F",
55
- names=["mssl_names", "gain1", "offset1", "gain2", "offset2"])
56
-
57
- mssl_names = table["mssl_names"]
58
- gain1 = table["gain1"]
59
- offset1 = table["offset1"]
60
- gain2 = table["gain2"]
61
- offset2 = table["offset2"]
62
-
63
- hk_name_mapping = read_conversion_dict(ORIGIN, use_site=False)
64
-
65
- for index in range(len(mssl_names)):
66
- mssl_name = mssl_names[index]
67
-
68
- if isinstance(mssl_name, str) and "[" in mssl_name and "]" in mssl_name:
69
- mssl_name = mssl_name.split("[")[0]
70
- egse_name = hk_name_mapping[mssl_name]
71
-
72
- is_temperature_calibration = "_T_" in egse_name or "TRP" in egse_name
73
- if not is_temperature_calibration:
74
- print(f"\t{egse_name}:")
75
-
76
- if not isnan(gain1[index]) and not isnan(offset1[index]):
77
- print(f"\t\tgain: {gain1[index]}")
78
- print(f"\t\toffset: {offset1[index]}")
79
- elif not isnan(gain2[index]) and not isnan(offset2[index]):
80
- print(f"\t\tgain: {gain2[index]}")
81
- print(f"\t\toffset: {offset2[index]}")
82
-
83
-
84
- def print_n_fee_calibration(filename):
85
- print("temperatures:")
86
- # TODO Print sub-sections
87
- print_temperature_calibration(filename)
88
-
89
- print("")
90
-
91
- print("supply_voltages:")
92
- print_supply_voltage_calibration(filename)
@@ -1,273 +0,0 @@
1
- import logging
2
- import os
3
- import sys
4
- from pathlib import Path
5
-
6
- import click
7
- import git
8
- import invoke
9
- import rich
10
-
11
- from egse.system import chdir
12
-
13
- THIS_FILE_LOCATION = Path(__file__).parent
14
-
15
- # The ROOT_PROJECT_FOLDER is the location where the Common-EGSE was installed.
16
- # For development installations, this is where the git repository was cloned,
17
- # for the operational system, this is usually '/cgse', but should match the
18
- # PLATO_INSTALL_LOCATION environment variable in any case.
19
-
20
- ROOT_PROJECT_FOLDER = THIS_FILE_LOCATION / "../.."
21
-
22
- MODULE_LOGGER = logging.getLogger("egse.scripts")
23
-
24
-
25
- class DirtyRepoError(Exception):
26
- pass
27
-
28
-
29
- class GitCommandError(Exception):
30
- pass
31
-
32
-
33
- def check_and_report_dirty_repo():
34
- repo = git.Repo(Path.cwd())
35
-
36
- if dirty := repo.is_dirty(untracked_files=False):
37
- rich.print("You have uncommitted changes, unable to install the Common-EGSE.")
38
-
39
- for item in repo.index.diff(None):
40
- rich.print(f" [red]Modified: {item.a_path}")
41
-
42
- rich.print("Stash or submit your changes to GitHub.")
43
-
44
- raise DirtyRepoError()
45
-
46
-
47
- def run_shell_command(cmd: str, hide: bool = True, warn: bool = True):
48
- response = invoke.run(cmd, hide=hide, warn=warn)
49
- rich.print(f"Executing '{response.command}'...")
50
- if response.return_code:
51
- MODULE_LOGGER.info(f"{response.stdout}")
52
- MODULE_LOGGER.error(f"{response.stderr}")
53
- raise GitCommandError()
54
- return response
55
-
56
-
57
- def is_operational_install(location: str):
58
- # location can be the following:
59
- #
60
- # * root folder where Common-EGSE is installed, e.g. /cgse/lib/python
61
- # * the actual 'egg' folder where Common-EGSE is installed,
62
- # e.g. /cgse/lib/python/Common_EGSE-2021.3_SRON_RC37-py3.8.egg
63
-
64
- rich.print(f"{location=}")
65
-
66
- if ".egg" in location:
67
- return True
68
-
69
- candidates = [path for path in os.listdir(location) if path.startswith("Common_EGSE")]
70
-
71
- rich.print(f"{candidates=}")
72
-
73
- if candidates and candidates[0].endswith(".egg"):
74
- return True
75
-
76
- # add other tests here that might indicate operational install
77
-
78
- return False
79
-
80
-
81
- @click.group()
82
- def cli():
83
- pass
84
-
85
-
86
- @cli.command()
87
- @click.option("--tag", help="The Release number to install.")
88
- def ops(tag=None):
89
- """
90
- Update the Common-EGSE on the operational machine. An operational installation is different
91
- from a developer installation. There is no virtual environment and the all required Python
92
- packages, including the Common-EGSE are installed at a specific location. The installation
93
- process makes use of the following environment variables:
94
-
95
- * PLATO_COMMON_EGSE_PATH: the location of the plato-common-egse repository on your machine, e.g., '~/git/plato-common-egse'
96
-
97
- * PLATO_INSTALL_LOCATION: the location where the packages shall be installed, usually '/cgse'
98
-
99
- Don't update the operational system without a tag.
100
-
101
- The following commands will be executed:
102
-
103
- * git fetch updates
104
-
105
- * git checkout tags/<tag> -b <tag>-branch
106
-
107
- * python -m pip uninstall Common-EGSE
108
-
109
- * python setup.py install --force --home=$PLATO_INSTALL_LOCATION
110
-
111
- You will need to manually restart the core services as root on the egse-server:
112
-
113
- * systemctl restart log_cs cm_cs sm_cs pm_cs dyn_cs
114
-
115
- NOTE: This command only works on an installation with setuptools (not a development
116
- installation). The installation must have been done in the location set by the
117
- environment variable PLATO_INSTALL_LOCATION.
118
-
119
- Args:
120
- tag: the tag that needs to be used for the update.
121
-
122
- """
123
-
124
- try:
125
- plato_install_location = os.environ["PLATO_INSTALL_LOCATION"]
126
- MODULE_LOGGER.info(f"{plato_install_location=}")
127
- except KeyError:
128
- rich.print(
129
- "[red]On an operational system, the PLATO_INSTALL_LOCATION environment variable must "
130
- "be set.[/]\n"
131
- "Please set this to the root folder of the installation, usually [default]'/cgse'."
132
- )
133
- return
134
-
135
- if not Path(plato_install_location).exists():
136
- rich.print(
137
- f"[orange3]I didn't find the '{plato_install_location}' location on your system.[/]\n"
138
- "Please check if the PLATO_INSTALL_LOCATION is set to the correct folder."
139
- )
140
- return
141
-
142
- try:
143
- plato_cgse_location = os.environ["PLATO_COMMON_EGSE_PATH"]
144
- MODULE_LOGGER.info(f"{plato_cgse_location=}")
145
- except KeyError:
146
- rich.print(
147
- "[red]On an operational system, the PLATO_COMMON_EGSE_PATH environment variable must "
148
- "be set.[/]\nPlease set this to the root folder of the cloned repository, "
149
- "usually [default]'~/git/plato-common-egse'."
150
- )
151
- return
152
-
153
- with chdir(plato_cgse_location):
154
- rich.print("Updating plato-common-egse...")
155
-
156
- try:
157
- run_shell_command("git fetch updates")
158
- run_shell_command("git checkout develop")
159
- except GitCommandError:
160
- return
161
-
162
- try:
163
- check_and_report_dirty_repo()
164
- except DirtyRepoError:
165
- return
166
-
167
- if tag:
168
- try:
169
- run_shell_command(f"git checkout tags/{tag} -b {tag}-branch")
170
- response = run_shell_command(f"{sys.executable} -m pip show Common-EGSE | grep Location")
171
- location = response.stdout.split(":")[1].strip()
172
- except GitCommandError:
173
- return
174
- except IndexError as exc:
175
- rich.print(f"[red]IndexError: {exc!s}[/red]")
176
- return
177
-
178
- do_uninstall = True
179
- if not is_operational_install(location):
180
- print(
181
- "It looks like your are not running a production environment, "
182
- "or you have a different kind of installation. "
183
- )
184
- response = input("Is this a first-time installation? [y/n] ")
185
-
186
- if response.upper() == "Y":
187
- do_uninstall = False
188
- else:
189
- return
190
-
191
- try:
192
- if do_uninstall:
193
- run_shell_command(f"{sys.executable} -m pip uninstall Common-EGSE", hide=False)
194
- run_shell_command(f"{sys.executable} setup.py install --force --home={plato_install_location}")
195
- except GitCommandError:
196
- return
197
- else:
198
- # git rev-list --tags --timestamp --no-walk | sort -nr | head -n1 | cut -f 2 -d ' ' | xargs git describe --contains
199
- rich.print("Usage: update_cgse ops --tag=<tag name>")
200
- rc = invoke.run("git describe --tags --abbrev=0", hide="stdout")
201
- rich.print(f"The latest tag name is '{rc.stdout.strip()}'.")
202
- return
203
-
204
- rich.print(
205
- "To complete the installation process, perform the following actions:\n\n"
206
- "On the egse-client:\n"
207
- " * stop all device control servers from the PM GUI\n"
208
- "On the egse-server:\n"
209
- " * run (in the root folder of plato-common-egse): invoke stop-core-egse\n"
210
- " * the core services should automatically be re-started by systemd\n"
211
- " * (if not, run (in the root folder of plato-common-egse): invoke start-core-egse)\n"
212
- " * Alternatively, you can run: systemctl restart log_cs cm_cs sm_cs pm_cs syn_cs\n"
213
- " (it will be no guaranteed that the processes are started in the correct order, though)"
214
- )
215
-
216
-
217
- @cli.command()
218
- def develop():
219
- """
220
- Update the Common-EGSE on a develop machine.
221
-
222
- The following commands will be executed in the background:
223
-
224
- * git fetch updates
225
-
226
- * git rebase updates/develop
227
-
228
- * python3 -m pip install -e .
229
-
230
- """
231
-
232
- with chdir(ROOT_PROJECT_FOLDER):
233
- rich.print("Updating plato-common-egse development environment.")
234
-
235
- try:
236
- check_and_report_dirty_repo()
237
- except DirtyRepoError:
238
- return
239
-
240
- try:
241
- run_shell_command("git fetch updates")
242
- run_shell_command("git checkout develop")
243
- run_shell_command("git rebase updates/develop")
244
- run_shell_command(f"{sys.executable} setup.py develop")
245
- run_shell_command(f"{sys.executable} setup.py egg_info")
246
- response = run_shell_command(f"{sys.executable} -m egse.version")
247
- except GitCommandError:
248
- return
249
-
250
- release = response.tail("stdout").split("\n")[-1]
251
-
252
- try:
253
- response = run_shell_command("git describe --tags --long")
254
- tag = response.stdout.strip().split("-")
255
-
256
- # The tag format is:
257
- # * the annotated tag
258
- # * the number of commits since the tag
259
- # * abbreviated commit name (starts with the letter 'g')
260
-
261
- number_of_commits = tag[-2]
262
- bare_tag = "-".join(tag[:-2])
263
-
264
- except GitCommandError:
265
- return
266
-
267
- rich.print(f"{release.strip()}")
268
- if number_of_commits != 0:
269
- rich.print(f"Number of commits since {bare_tag}: {number_of_commits}")
270
-
271
-
272
- if __name__ == "__main__":
273
- cli()
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes