cgse 2023.38.0__py3-none-any.whl → 2024.1.4__py3-none-any.whl
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.
- README.md +27 -0
- bump.py +85 -0
- cgse-2024.1.4.dist-info/METADATA +38 -0
- cgse-2024.1.4.dist-info/RECORD +5 -0
- {cgse-2023.38.0.dist-info → cgse-2024.1.4.dist-info}/WHEEL +1 -2
- cgse-2023.38.0.dist-info/COPYING +0 -674
- cgse-2023.38.0.dist-info/COPYING.LESSER +0 -165
- cgse-2023.38.0.dist-info/METADATA +0 -144
- cgse-2023.38.0.dist-info/RECORD +0 -649
- cgse-2023.38.0.dist-info/entry_points.txt +0 -75
- cgse-2023.38.0.dist-info/top_level.txt +0 -2
- egse/__init__.py +0 -12
- egse/__main__.py +0 -32
- egse/aeu/aeu.py +0 -5235
- egse/aeu/aeu_awg.yaml +0 -265
- egse/aeu/aeu_crio.yaml +0 -273
- egse/aeu/aeu_cs.py +0 -626
- egse/aeu/aeu_devif.py +0 -321
- egse/aeu/aeu_main_ui.py +0 -912
- egse/aeu/aeu_metrics.py +0 -131
- egse/aeu/aeu_protocol.py +0 -463
- egse/aeu/aeu_psu.yaml +0 -204
- egse/aeu/aeu_ui.py +0 -873
- egse/aeu/arbdata/FccdRead.arb +0 -2
- egse/aeu/arbdata/FccdRead_min_points.arb +0 -2
- egse/aeu/arbdata/HeaterSync_FccdRead.arb +0 -2
- egse/aeu/arbdata/HeaterSync_ccdRead25.arb +0 -2
- egse/aeu/arbdata/HeaterSync_ccdRead31_25.arb +0 -2
- egse/aeu/arbdata/HeaterSync_ccdRead37_50.arb +0 -2
- egse/aeu/arbdata/HeaterSync_ccdRead43_75.arb +0 -2
- egse/aeu/arbdata/HeaterSync_ccdRead50.arb +0 -2
- egse/aeu/arbdata/Heater_FccdRead_min_points.arb +0 -2
- egse/aeu/arbdata/ccdRead25.arb +0 -2
- egse/aeu/arbdata/ccdRead25_150ms.arb +0 -2
- egse/aeu/arbdata/ccdRead31_25.arb +0 -2
- egse/aeu/arbdata/ccdRead31_25_150ms.arb +0 -2
- egse/aeu/arbdata/ccdRead37_50.arb +0 -2
- egse/aeu/arbdata/ccdRead37_50_150ms.arb +0 -2
- egse/aeu/arbdata/ccdRead43_75.arb +0 -2
- egse/aeu/arbdata/ccdRead43_75_150ms.arb +0 -2
- egse/aeu/arbdata/ccdRead50.arb +0 -2
- egse/aeu/arbdata/ccdRead50_150ms.arb +0 -2
- egse/alert/__init__.py +0 -1049
- egse/alert/alertman.yaml +0 -37
- egse/alert/alertman_cs.py +0 -234
- egse/alert/alertman_ui.py +0 -603
- egse/alert/gsm/beaglebone.py +0 -138
- egse/alert/gsm/beaglebone.yaml +0 -51
- egse/alert/gsm/beaglebone_cs.py +0 -108
- egse/alert/gsm/beaglebone_devif.py +0 -130
- egse/alert/gsm/beaglebone_protocol.py +0 -48
- egse/bits.py +0 -318
- egse/camera.py +0 -44
- egse/collimator/__init__.py +0 -0
- egse/collimator/fcul/__init__.py +0 -0
- egse/collimator/fcul/ogse.py +0 -1077
- egse/collimator/fcul/ogse.yaml +0 -14
- egse/collimator/fcul/ogse_cs.py +0 -154
- egse/collimator/fcul/ogse_devif.py +0 -358
- egse/collimator/fcul/ogse_protocol.py +0 -129
- egse/collimator/fcul/ogse_sim.py +0 -431
- egse/collimator/fcul/ogse_ui.py +0 -1108
- egse/command.py +0 -699
- egse/config.py +0 -410
- egse/confman/__init__.py +0 -1015
- egse/confman/confman.yaml +0 -67
- egse/confman/confman_cs.py +0 -239
- egse/confman/confman_ui.py +0 -381
- egse/confman/setup_ui.py +0 -565
- egse/control.py +0 -442
- egse/coordinates/__init__.py +0 -531
- egse/coordinates/avoidance.py +0 -103
- egse/coordinates/cslmodel.py +0 -127
- egse/coordinates/laser_tracker_to_dict.py +0 -120
- egse/coordinates/point.py +0 -707
- egse/coordinates/pyplot.py +0 -195
- egse/coordinates/referenceFrame.py +0 -1279
- egse/coordinates/refmodel.py +0 -737
- egse/coordinates/rotationMatrix.py +0 -85
- egse/coordinates/transform3d_addon.py +0 -419
- egse/csl/__init__.py +0 -50
- egse/csl/commanding.py +0 -78
- egse/csl/icons/hexapod-connected-selected.svg +0 -30
- egse/csl/icons/hexapod-connected.svg +0 -30
- egse/csl/icons/hexapod-homing-selected.svg +0 -68
- egse/csl/icons/hexapod-homing.svg +0 -68
- egse/csl/icons/hexapod-retract-selected.svg +0 -56
- egse/csl/icons/hexapod-retract.svg +0 -51
- egse/csl/icons/hexapod-zero-selected.svg +0 -56
- egse/csl/icons/hexapod-zero.svg +0 -56
- egse/csl/icons/logo-puna.svg +0 -92
- egse/csl/icons/stop.svg +0 -1
- egse/csl/initialisation.py +0 -102
- egse/csl/mech_pos_settings.yaml +0 -18
- egse/das.py +0 -1247
- egse/das.yaml +0 -7
- egse/data/conf/SETUP_CSL_00000_170620_150000.yaml +0 -5
- egse/data/conf/SETUP_CSL_00001_170620_151010.yaml +0 -69
- egse/data/conf/SETUP_CSL_00002_170620_151020.yaml +0 -69
- egse/data/conf/SETUP_CSL_00003_170620_151030.yaml +0 -69
- egse/data/conf/SETUP_CSL_00004_170620_151040.yaml +0 -69
- egse/data/conf/SETUP_CSL_00005_170620_151050.yaml +0 -69
- egse/data/conf/SETUP_CSL_00006_170620_151060.yaml +0 -69
- egse/data/conf/SETUP_CSL_00007_170620_151070.yaml +0 -69
- egse/data/conf/SETUP_CSL_00008_170620_151080.yaml +0 -75
- egse/data/conf/SETUP_CSL_00010_210308_083016.yaml +0 -138
- egse/data/conf/SETUP_INTA_00000_170620_150000.yaml +0 -4
- egse/data/conf/SETUP_SRON_00000_170620_150000.yaml +0 -4
- egse/decorators.py +0 -415
- egse/device.py +0 -269
- egse/dpu/__init__.py +0 -2681
- egse/dpu/ccd_ui.py +0 -508
- egse/dpu/dpu.py +0 -786
- egse/dpu/dpu.yaml +0 -153
- egse/dpu/dpu_cs.py +0 -272
- egse/dpu/dpu_ui.py +0 -668
- egse/dpu/fitsgen.py +0 -2077
- egse/dpu/fitsgen_test.py +0 -752
- egse/dpu/fitsgen_ui.py +0 -399
- egse/dpu/hdf5_model.py +0 -332
- egse/dpu/hdf5_ui.py +0 -277
- egse/dpu/hdf5_viewer.py +0 -506
- egse/dpu/hk_ui.py +0 -468
- egse/dpu_commands.py +0 -81
- egse/dsi/constants.py +0 -220
- egse/dsi/esl.py +0 -870
- egse/dsi/rmap.py +0 -1042
- egse/dsi/rmapci.py +0 -37
- egse/dsi/spw.py +0 -154
- egse/dsi/spw_state.py +0 -29
- egse/dummy.py +0 -258
- egse/dyndummy.py +0 -179
- egse/env.py +0 -278
- egse/exceptions.py +0 -88
- egse/fdir/__init__.py +0 -28
- egse/fdir/fdir_manager.py +0 -85
- egse/fdir/fdir_manager.yaml +0 -51
- egse/fdir/fdir_manager_controller.py +0 -228
- egse/fdir/fdir_manager_cs.py +0 -164
- egse/fdir/fdir_manager_interface.py +0 -25
- egse/fdir/fdir_remote.py +0 -73
- egse/fdir/fdir_remote.yaml +0 -37
- egse/fdir/fdir_remote_controller.py +0 -50
- egse/fdir/fdir_remote_cs.py +0 -97
- egse/fdir/fdir_remote_interface.py +0 -14
- egse/fdir/fdir_remote_popup.py +0 -31
- egse/fee/__init__.py +0 -114
- egse/fee/f_fee_register.yaml +0 -43
- egse/fee/fee.py +0 -631
- egse/fee/feesim.py +0 -750
- egse/fee/n_fee_hk.py +0 -761
- egse/fee/nfee.py +0 -187
- egse/filterwheel/__init__.py +0 -4
- egse/filterwheel/eksma/__init__.py +0 -24
- egse/filterwheel/eksma/fw8smc4.py +0 -661
- egse/filterwheel/eksma/fw8smc4.yaml +0 -121
- egse/filterwheel/eksma/fw8smc4_cs.py +0 -144
- egse/filterwheel/eksma/fw8smc4_devif.py +0 -473
- egse/filterwheel/eksma/fw8smc4_protocol.py +0 -81
- egse/filterwheel/eksma/fw8smc4_ui.py +0 -940
- egse/filterwheel/eksma/fw8smc5.py +0 -111
- egse/filterwheel/eksma/fw8smc5.yaml +0 -105
- egse/filterwheel/eksma/fw8smc5_controller.py +0 -307
- egse/filterwheel/eksma/fw8smc5_cs.py +0 -141
- egse/filterwheel/eksma/fw8smc5_interface.py +0 -65
- egse/filterwheel/eksma/fw8smc5_simulator.py +0 -29
- egse/filterwheel/eksma/fw8smc5_ui.py +0 -1068
- egse/filterwheel/eksma/testpythonfw.py +0 -215
- egse/fov/__init__.py +0 -65
- egse/fov/fov_hk.py +0 -712
- egse/fov/fov_ui.py +0 -861
- egse/fov/fov_ui_controller.py +0 -140
- egse/fov/fov_ui_model.py +0 -200
- egse/fov/fov_ui_view.py +0 -345
- egse/gimbal/__init__.py +0 -32
- egse/gimbal/symetrie/__init__.py +0 -26
- egse/gimbal/symetrie/alpha.py +0 -586
- egse/gimbal/symetrie/generic_gimbal_ui.py +0 -1521
- egse/gimbal/symetrie/gimbal.py +0 -877
- egse/gimbal/symetrie/gimbal.yaml +0 -168
- egse/gimbal/symetrie/gimbal_cs.py +0 -183
- egse/gimbal/symetrie/gimbal_protocol.py +0 -135
- egse/gimbal/symetrie/gimbal_ui.py +0 -361
- egse/gimbal/symetrie/pmac.py +0 -1006
- egse/gimbal/symetrie/pmac_regex.py +0 -83
- egse/graph.py +0 -132
- egse/gui/__init__.py +0 -47
- egse/gui/buttons.py +0 -378
- egse/gui/focalplane.py +0 -1281
- egse/gui/formatter.py +0 -10
- egse/gui/led.py +0 -162
- egse/gui/limitswitch.py +0 -143
- egse/gui/mechanisms.py +0 -588
- egse/gui/states.py +0 -148
- egse/gui/stripchart.py +0 -729
- egse/gui/switch.py +0 -112
- egse/h5.py +0 -274
- egse/help/__init__.py +0 -0
- egse/help/help_ui.py +0 -126
- egse/hexapod/__init__.py +0 -32
- egse/hexapod/symetrie/__init__.py +0 -138
- egse/hexapod/symetrie/alpha.py +0 -874
- egse/hexapod/symetrie/dynalpha.py +0 -1387
- egse/hexapod/symetrie/hexapod_ui.py +0 -1516
- egse/hexapod/symetrie/pmac.py +0 -1010
- egse/hexapod/symetrie/pmac_regex.py +0 -83
- egse/hexapod/symetrie/puna.py +0 -1167
- egse/hexapod/symetrie/puna.yaml +0 -193
- egse/hexapod/symetrie/puna_cs.py +0 -196
- egse/hexapod/symetrie/puna_protocol.py +0 -131
- egse/hexapod/symetrie/puna_ui.py +0 -434
- egse/hexapod/symetrie/punaplus.py +0 -107
- egse/hexapod/symetrie/zonda.py +0 -872
- egse/hexapod/symetrie/zonda.yaml +0 -337
- egse/hexapod/symetrie/zonda_cs.py +0 -172
- egse/hexapod/symetrie/zonda_devif.py +0 -415
- egse/hexapod/symetrie/zonda_protocol.py +0 -119
- egse/hexapod/symetrie/zonda_ui.py +0 -449
- egse/hk.py +0 -765
- egse/icons/aeu-cs-start.svg +0 -117
- egse/icons/aeu-cs-stop.svg +0 -118
- egse/icons/aeu-cs.svg +0 -107
- egse/icons/aeu_cs-started.svg +0 -112
- egse/icons/aeu_cs-stopped.svg +0 -112
- egse/icons/aeu_cs.svg +0 -55
- egse/icons/alert.svg +0 -1
- egse/icons/arrow-double-left.png +0 -0
- egse/icons/arrow-double-right.png +0 -0
- egse/icons/arrow-up.svg +0 -11
- egse/icons/backward.svg +0 -1
- egse/icons/busy.svg +0 -1
- egse/icons/cleaning.svg +0 -115
- egse/icons/color-scheme.svg +0 -1
- egse/icons/cs-connected-alert.svg +0 -91
- egse/icons/cs-connected-disabled.svg +0 -43
- egse/icons/cs-connected.svg +0 -89
- egse/icons/cs-not-connected.svg +0 -44
- egse/icons/double-left-arrow.svg +0 -1
- egse/icons/double-right-arrow.svg +0 -1
- egse/icons/erase-disabled.svg +0 -19
- egse/icons/erase.svg +0 -59
- egse/icons/fitsgen-start.svg +0 -47
- egse/icons/fitsgen-stop.svg +0 -48
- egse/icons/fitsgen.svg +0 -1
- egse/icons/forward.svg +0 -1
- egse/icons/fov-hk-start.svg +0 -33
- egse/icons/fov-hk-stop.svg +0 -37
- egse/icons/fov-hk.svg +0 -1
- egse/icons/front-desk.svg +0 -1
- egse/icons/home-actioned.svg +0 -15
- egse/icons/home-disabled.svg +0 -15
- egse/icons/home.svg +0 -13
- egse/icons/info.svg +0 -1
- egse/icons/invalid.png +0 -0
- egse/icons/led-green.svg +0 -20
- egse/icons/led-grey.svg +0 -20
- egse/icons/led-orange.svg +0 -20
- egse/icons/led-red.svg +0 -20
- egse/icons/led-square-green.svg +0 -134
- egse/icons/led-square-grey.svg +0 -134
- egse/icons/led-square-orange.svg +0 -134
- egse/icons/led-square-red.svg +0 -134
- egse/icons/limit-switch-all-green.svg +0 -115
- egse/icons/limit-switch-all-red.svg +0 -117
- egse/icons/limit-switch-el+.svg +0 -116
- egse/icons/limit-switch-el-.svg +0 -117
- egse/icons/location-marker.svg +0 -1
- egse/icons/logo-dpu.svg +0 -48
- egse/icons/logo-gimbal.svg +0 -112
- egse/icons/logo-huber.svg +0 -23
- egse/icons/logo-ogse.svg +0 -31
- egse/icons/logo-puna.svg +0 -92
- egse/icons/logo-tcs.svg +0 -29
- egse/icons/logo-zonda.svg +0 -66
- egse/icons/maximize.svg +0 -1
- egse/icons/meter.svg +0 -1
- egse/icons/more.svg +0 -45
- egse/icons/n-fee-hk-start.svg +0 -24
- egse/icons/n-fee-hk-stop.svg +0 -25
- egse/icons/n-fee-hk.svg +0 -83
- egse/icons/observing-off.svg +0 -46
- egse/icons/observing-on.svg +0 -46
- egse/icons/open-document-hdf5.png +0 -0
- egse/icons/open-document-hdf5.svg +0 -21
- egse/icons/ops-mode.svg +0 -1
- egse/icons/play-green.svg +0 -17
- egse/icons/plugged-disabled.svg +0 -27
- egse/icons/plugged.svg +0 -21
- egse/icons/pm_ui.svg +0 -1
- egse/icons/power-button-green.svg +0 -27
- egse/icons/power-button-red.svg +0 -27
- egse/icons/power-button.svg +0 -27
- egse/icons/radar.svg +0 -1
- egse/icons/radioactive.svg +0 -2
- egse/icons/reload.svg +0 -1
- egse/icons/remote-control-off.svg +0 -28
- egse/icons/remote-control-on.svg +0 -28
- egse/icons/repeat-blue.svg +0 -15
- egse/icons/repeat.svg +0 -1
- egse/icons/settings.svg +0 -1
- egse/icons/shrink.svg +0 -1
- egse/icons/shutter.svg +0 -1
- egse/icons/sign-off.svg +0 -1
- egse/icons/sign-on.svg +0 -1
- egse/icons/sim-mode.svg +0 -1
- egse/icons/small-buttons-go.svg +0 -20
- egse/icons/small-buttons-minus.svg +0 -51
- egse/icons/small-buttons-plus.svg +0 -51
- egse/icons/sponge.svg +0 -220
- egse/icons/start-button-disabled.svg +0 -84
- egse/icons/start-button.svg +0 -50
- egse/icons/stop-button-disabled.svg +0 -84
- egse/icons/stop-button.svg +0 -50
- egse/icons/stop-red.svg +0 -17
- egse/icons/stop.svg +0 -1
- egse/icons/switch-disabled-square.svg +0 -87
- egse/icons/switch-disabled.svg +0 -15
- egse/icons/switch-off-square.svg +0 -87
- egse/icons/switch-off.svg +0 -72
- egse/icons/switch-on-square.svg +0 -87
- egse/icons/switch-on.svg +0 -61
- egse/icons/temperature-control.svg +0 -44
- egse/icons/th_ui_logo.svg +0 -1
- egse/icons/unplugged.svg +0 -23
- egse/icons/unvalid.png +0 -0
- egse/icons/user-interface.svg +0 -1
- egse/icons/vacuum.svg +0 -1
- egse/icons/valid.png +0 -0
- egse/icons/zoom-to-pixel-dark.svg +0 -64
- egse/icons/zoom-to-pixel-white.svg +0 -36
- egse/images/big-rotation-stage.png +0 -0
- egse/images/connected-100.png +0 -0
- egse/images/cross.svg +0 -6
- egse/images/disconnected-100.png +0 -0
- egse/images/gui-icon.png +0 -0
- egse/images/home.svg +0 -6
- egse/images/info-icon.png +0 -0
- egse/images/led-black.svg +0 -89
- egse/images/led-green.svg +0 -85
- egse/images/led-orange.svg +0 -85
- egse/images/led-red.svg +0 -85
- egse/images/load-icon.png +0 -0
- egse/images/load-setup.png +0 -0
- egse/images/load.png +0 -0
- egse/images/pause.png +0 -0
- egse/images/play-button.svg +0 -8
- egse/images/play.png +0 -0
- egse/images/process-status.png +0 -0
- egse/images/restart.png +0 -0
- egse/images/search.png +0 -0
- egse/images/sma.png +0 -0
- egse/images/start.png +0 -0
- egse/images/stop-button.svg +0 -8
- egse/images/stop.png +0 -0
- egse/images/switch-off.svg +0 -48
- egse/images/switch-on.svg +0 -48
- egse/images/undo.png +0 -0
- egse/images/update-button.svg +0 -11
- egse/imageviewer/exposureselection.py +0 -475
- egse/imageviewer/imageviewer.py +0 -198
- egse/imageviewer/matchfocalplane.py +0 -179
- egse/imageviewer/subfieldposition.py +0 -133
- egse/lampcontrol/__init__.py +0 -4
- egse/lampcontrol/beaglebone/beaglebone.py +0 -178
- egse/lampcontrol/beaglebone/beaglebone.yaml +0 -62
- egse/lampcontrol/beaglebone/beaglebone_cs.py +0 -106
- egse/lampcontrol/beaglebone/beaglebone_devif.py +0 -150
- egse/lampcontrol/beaglebone/beaglebone_protocol.py +0 -73
- egse/lampcontrol/energetiq/__init__.py +0 -22
- egse/lampcontrol/energetiq/eq99.yaml +0 -98
- egse/lampcontrol/energetiq/lampEQ99.py +0 -283
- egse/lampcontrol/energetiq/lampEQ99_cs.py +0 -128
- egse/lampcontrol/energetiq/lampEQ99_devif.py +0 -158
- egse/lampcontrol/energetiq/lampEQ99_encode_decode_errors.py +0 -73
- egse/lampcontrol/energetiq/lampEQ99_protocol.py +0 -69
- egse/lampcontrol/energetiq/lampEQ99_ui.py +0 -465
- egse/lib/CentOS-7/EtherSpaceLink_v34_86.dylib +0 -0
- egse/lib/CentOS-8/ESL-RMAP_v34_86.dylib +0 -0
- egse/lib/CentOS-8/EtherSpaceLink_v34_86.dylib +0 -0
- egse/lib/Debian/ESL-RMAP_v34_86.dylib +0 -0
- egse/lib/Debian/EtherSpaceLink_v34_86.dylib +0 -0
- egse/lib/Debian/libetherspacelink_v35_21.dylib +0 -0
- egse/lib/Linux/ESL-RMAP_v34_86.dylib +0 -0
- egse/lib/Linux/EtherSpaceLink_v34_86.dylib +0 -0
- egse/lib/Ubuntu-20/ESL-RMAP_v34_86.dylib +0 -0
- egse/lib/Ubuntu-20/EtherSpaceLink_v34_86.dylib +0 -0
- egse/lib/gssw/python3-gssw_2.2.3+31f63c9f-1_all.deb +0 -0
- egse/lib/macOS/ESL-RMAP_v34_86.dylib +0 -0
- egse/lib/macOS/EtherSpaceLink_v34_86.dylib +0 -0
- egse/lib/ximc/__pycache__/pyximc.cpython-38 2.pyc +0 -0
- egse/lib/ximc/__pycache__/pyximc.cpython-38.pyc +0 -0
- egse/lib/ximc/libximc.framework/Frameworks/libbindy.dylib +0 -0
- egse/lib/ximc/libximc.framework/Frameworks/libxiwrapper.dylib +0 -0
- egse/lib/ximc/libximc.framework/Headers/ximc.h +0 -5510
- egse/lib/ximc/libximc.framework/Resources/Info.plist +0 -42
- egse/lib/ximc/libximc.framework/Resources/keyfile.sqlite +0 -0
- egse/lib/ximc/libximc.framework/libbindy.so +0 -0
- egse/lib/ximc/libximc.framework/libximc +0 -0
- egse/lib/ximc/libximc.framework/libximc.so +0 -0
- egse/lib/ximc/libximc.framework/libximc.so.7.0.0 +0 -0
- egse/lib/ximc/libximc.framework/libxiwrapper.so +0 -0
- egse/lib/ximc/pyximc.py +0 -922
- egse/listener.py +0 -73
- egse/logger/__init__.py +0 -243
- egse/logger/log_cs.py +0 -321
- egse/metrics.py +0 -98
- egse/mixin.py +0 -464
- egse/monitoring.py +0 -95
- egse/ni/alarms/__init__.py +0 -26
- egse/ni/alarms/cdaq9375.py +0 -300
- egse/ni/alarms/cdaq9375.yaml +0 -89
- egse/ni/alarms/cdaq9375_cs.py +0 -130
- egse/ni/alarms/cdaq9375_devif.py +0 -183
- egse/ni/alarms/cdaq9375_protocol.py +0 -48
- egse/obs_inspection.py +0 -163
- egse/observer.py +0 -41
- egse/obsid.py +0 -163
- egse/powermeter/__init__.py +0 -0
- egse/powermeter/ni/__init__.py +0 -38
- egse/powermeter/ni/cdaq9184.py +0 -224
- egse/powermeter/ni/cdaq9184.yaml +0 -73
- egse/powermeter/ni/cdaq9184_cs.py +0 -130
- egse/powermeter/ni/cdaq9184_devif.py +0 -201
- egse/powermeter/ni/cdaq9184_protocol.py +0 -48
- egse/powermeter/ni/cdaq9184_ui.py +0 -544
- egse/powermeter/thorlabs/__init__.py +0 -25
- egse/powermeter/thorlabs/pm100a.py +0 -380
- egse/powermeter/thorlabs/pm100a.yaml +0 -132
- egse/powermeter/thorlabs/pm100a_cs.py +0 -136
- egse/powermeter/thorlabs/pm100a_devif.py +0 -127
- egse/powermeter/thorlabs/pm100a_protocol.py +0 -80
- egse/powermeter/thorlabs/pm100a_ui.py +0 -725
- egse/process.py +0 -451
- egse/procman/__init__.py +0 -811
- egse/procman/cannot_start_process_popup.py +0 -43
- egse/procman/procman.yaml +0 -49
- egse/procman/procman_cs.py +0 -201
- egse/procman/procman_ui.py +0 -2081
- egse/protocol.py +0 -603
- egse/proxy.py +0 -522
- egse/randomwalk.py +0 -140
- egse/reg.py +0 -585
- egse/reload.py +0 -122
- egse/reprocess.py +0 -675
- egse/resource.py +0 -333
- egse/rst.py +0 -135
- egse/search.py +0 -182
- egse/serialdevice.py +0 -190
- egse/services.py +0 -212
- egse/services.yaml +0 -51
- egse/settings.py +0 -379
- egse/settings.yaml +0 -980
- egse/setup.py +0 -1180
- egse/shutter/__init__.py +0 -0
- egse/shutter/thorlabs/__init__.py +0 -19
- egse/shutter/thorlabs/ksc101.py +0 -205
- egse/shutter/thorlabs/ksc101.yaml +0 -105
- egse/shutter/thorlabs/ksc101_cs.py +0 -136
- egse/shutter/thorlabs/ksc101_devif.py +0 -201
- egse/shutter/thorlabs/ksc101_protocol.py +0 -69
- egse/shutter/thorlabs/ksc101_ui.py +0 -548
- egse/shutter/thorlabs/sc10.py +0 -82
- egse/shutter/thorlabs/sc10.yaml +0 -52
- egse/shutter/thorlabs/sc10_controller.py +0 -81
- egse/shutter/thorlabs/sc10_cs.py +0 -108
- egse/shutter/thorlabs/sc10_interface.py +0 -25
- egse/shutter/thorlabs/sc10_simulator.py +0 -30
- egse/simulator.py +0 -41
- egse/slack.py +0 -61
- egse/socketdevice.py +0 -218
- egse/sockets.py +0 -218
- egse/spw.py +0 -1479
- egse/stages/__init__.py +0 -12
- egse/stages/aerotech/ensemble.py +0 -247
- egse/stages/aerotech/ensemble.yaml +0 -205
- egse/stages/aerotech/ensemble_controller.py +0 -275
- egse/stages/aerotech/ensemble_cs.py +0 -110
- egse/stages/aerotech/ensemble_interface.py +0 -132
- egse/stages/aerotech/ensemble_parameters.py +0 -433
- egse/stages/aerotech/ensemble_simulator.py +0 -27
- egse/stages/aerotech/mgse_sim.py +0 -193
- egse/stages/arun/smd3.py +0 -111
- egse/stages/arun/smd3.yaml +0 -68
- egse/stages/arun/smd3_controller.py +0 -472
- egse/stages/arun/smd3_cs.py +0 -112
- egse/stages/arun/smd3_interface.py +0 -53
- egse/stages/arun/smd3_simulator.py +0 -27
- egse/stages/arun/smd3_stop.py +0 -16
- egse/stages/huber/__init__.py +0 -49
- egse/stages/huber/smc9300.py +0 -904
- egse/stages/huber/smc9300.yaml +0 -63
- egse/stages/huber/smc9300_cs.py +0 -178
- egse/stages/huber/smc9300_devif.py +0 -345
- egse/stages/huber/smc9300_protocol.py +0 -111
- egse/stages/huber/smc9300_sim.py +0 -547
- egse/stages/huber/smc9300_ui.py +0 -973
- egse/state.py +0 -173
- egse/statemachine.py +0 -274
- egse/storage/__init__.py +0 -1004
- egse/storage/persistence.py +0 -2295
- egse/storage/storage.yaml +0 -72
- egse/storage/storage_cs.py +0 -214
- egse/styles/dark.qss +0 -343
- egse/styles/default.qss +0 -48
- egse/synoptics/__init__.py +0 -412
- egse/synoptics/syn.yaml +0 -9
- egse/synoptics/syn_cs.py +0 -195
- egse/system.py +0 -1408
- egse/tcs/__init__.py +0 -14
- egse/tcs/tcs.py +0 -874
- egse/tcs/tcs.yaml +0 -14
- egse/tcs/tcs_cs.py +0 -202
- egse/tcs/tcs_devif.py +0 -292
- egse/tcs/tcs_protocol.py +0 -177
- egse/tcs/tcs_sim.py +0 -177
- egse/tcs/tcs_ui.py +0 -543
- egse/tdms.py +0 -171
- egse/tempcontrol/__init__.py +0 -23
- egse/tempcontrol/agilent/agilent34970.py +0 -109
- egse/tempcontrol/agilent/agilent34970.yaml +0 -44
- egse/tempcontrol/agilent/agilent34970_cs.py +0 -116
- egse/tempcontrol/agilent/agilent34970_devif.py +0 -182
- egse/tempcontrol/agilent/agilent34970_protocol.py +0 -99
- egse/tempcontrol/agilent/agilent34972.py +0 -111
- egse/tempcontrol/agilent/agilent34972.yaml +0 -44
- egse/tempcontrol/agilent/agilent34972_cs.py +0 -117
- egse/tempcontrol/agilent/agilent34972_devif.py +0 -189
- egse/tempcontrol/agilent/agilent34972_protocol.py +0 -101
- egse/tempcontrol/beaglebone/beaglebone.py +0 -342
- egse/tempcontrol/beaglebone/beaglebone.yaml +0 -110
- egse/tempcontrol/beaglebone/beaglebone_cs.py +0 -117
- egse/tempcontrol/beaglebone/beaglebone_protocol.py +0 -135
- egse/tempcontrol/beaglebone/beaglebone_ui.py +0 -681
- egse/tempcontrol/digalox/digalox.py +0 -107
- egse/tempcontrol/digalox/digalox.yaml +0 -36
- egse/tempcontrol/digalox/digalox_cs.py +0 -112
- egse/tempcontrol/digalox/digalox_protocol.py +0 -55
- egse/tempcontrol/keithley/__init__.py +0 -33
- egse/tempcontrol/keithley/daq6510.py +0 -662
- egse/tempcontrol/keithley/daq6510.yaml +0 -105
- egse/tempcontrol/keithley/daq6510_cs.py +0 -163
- egse/tempcontrol/keithley/daq6510_devif.py +0 -343
- egse/tempcontrol/keithley/daq6510_protocol.py +0 -78
- egse/tempcontrol/keithley/daq6510_sim.py +0 -186
- egse/tempcontrol/lakeshore/__init__.py +0 -33
- egse/tempcontrol/lakeshore/lsci.py +0 -361
- egse/tempcontrol/lakeshore/lsci.yaml +0 -162
- egse/tempcontrol/lakeshore/lsci_cs.py +0 -174
- egse/tempcontrol/lakeshore/lsci_devif.py +0 -292
- egse/tempcontrol/lakeshore/lsci_protocol.py +0 -73
- egse/tempcontrol/lakeshore/lsci_ui.py +0 -389
- egse/tempcontrol/ni/__init__.py +0 -0
- egse/tempcontrol/spid/spid.py +0 -109
- egse/tempcontrol/spid/spid.yaml +0 -81
- egse/tempcontrol/spid/spid_controller.py +0 -279
- egse/tempcontrol/spid/spid_cs.py +0 -136
- egse/tempcontrol/spid/spid_protocol.py +0 -107
- egse/tempcontrol/spid/spid_ui.py +0 -727
- egse/tempcontrol/srs/__init__.py +0 -22
- egse/tempcontrol/srs/ptc10.py +0 -875
- egse/tempcontrol/srs/ptc10.yaml +0 -227
- egse/tempcontrol/srs/ptc10_cs.py +0 -128
- egse/tempcontrol/srs/ptc10_devif.py +0 -118
- egse/tempcontrol/srs/ptc10_protocol.py +0 -42
- egse/tempcontrol/srs/ptc10_ui.py +0 -906
- egse/ups/apc/apc.py +0 -236
- egse/ups/apc/apc.yaml +0 -45
- egse/ups/apc/apc_cs.py +0 -101
- egse/ups/apc/apc_protocol.py +0 -125
- egse/user.yaml +0 -7
- egse/vacuum/beaglebone/beaglebone.py +0 -149
- egse/vacuum/beaglebone/beaglebone.yaml +0 -44
- egse/vacuum/beaglebone/beaglebone_cs.py +0 -108
- egse/vacuum/beaglebone/beaglebone_devif.py +0 -164
- egse/vacuum/beaglebone/beaglebone_protocol.py +0 -193
- egse/vacuum/beaglebone/beaglebone_ui.py +0 -638
- egse/vacuum/instrutech/igm402.py +0 -92
- egse/vacuum/instrutech/igm402.yaml +0 -90
- egse/vacuum/instrutech/igm402_controller.py +0 -128
- egse/vacuum/instrutech/igm402_cs.py +0 -108
- egse/vacuum/instrutech/igm402_interface.py +0 -49
- egse/vacuum/instrutech/igm402_simulator.py +0 -36
- egse/vacuum/keller/kellerBus.py +0 -256
- egse/vacuum/keller/leo3.py +0 -102
- egse/vacuum/keller/leo3.yaml +0 -38
- egse/vacuum/keller/leo3_controller.py +0 -83
- egse/vacuum/keller/leo3_cs.py +0 -101
- egse/vacuum/keller/leo3_interface.py +0 -33
- egse/vacuum/mks/evision.py +0 -86
- egse/vacuum/mks/evision.yaml +0 -75
- egse/vacuum/mks/evision_cs.py +0 -101
- egse/vacuum/mks/evision_devif.py +0 -316
- egse/vacuum/mks/evision_interface.py +0 -60
- egse/vacuum/mks/evision_simulator.py +0 -24
- egse/vacuum/mks/evision_ui.py +0 -704
- egse/vacuum/pfeiffer/acp40.py +0 -87
- egse/vacuum/pfeiffer/acp40.yaml +0 -60
- egse/vacuum/pfeiffer/acp40_controller.py +0 -117
- egse/vacuum/pfeiffer/acp40_cs.py +0 -109
- egse/vacuum/pfeiffer/acp40_interface.py +0 -40
- egse/vacuum/pfeiffer/acp40_simulator.py +0 -39
- egse/vacuum/pfeiffer/tc400.py +0 -113
- egse/vacuum/pfeiffer/tc400.yaml +0 -83
- egse/vacuum/pfeiffer/tc400_controller.py +0 -140
- egse/vacuum/pfeiffer/tc400_cs.py +0 -109
- egse/vacuum/pfeiffer/tc400_interface.py +0 -70
- egse/vacuum/pfeiffer/tc400_simulator.py +0 -24
- egse/vacuum/pfeiffer/tpg261.py +0 -81
- egse/vacuum/pfeiffer/tpg261.yaml +0 -66
- egse/vacuum/pfeiffer/tpg261_controller.py +0 -150
- egse/vacuum/pfeiffer/tpg261_cs.py +0 -109
- egse/vacuum/pfeiffer/tpg261_interface.py +0 -60
- egse/vacuum/pfeiffer/tpg261_simulator.py +0 -24
- egse/version.py +0 -174
- egse/visitedpositions.py +0 -398
- egse/windowing.py +0 -213
- egse/zmq/__init__.py +0 -28
- egse/zmq/spw.py +0 -160
- egse/zmq_ser.py +0 -41
- scripts/alerts/cold.yaml +0 -278
- scripts/alerts/example_alerts.yaml +0 -54
- scripts/alerts/transition.yaml +0 -14
- scripts/alerts/warm.yaml +0 -49
- scripts/analyse_n_fee_hk_data.py +0 -44
- scripts/check_hdf5_files.py +0 -192
- scripts/check_register_sync.py +0 -47
- scripts/create_hdf5_report.py +0 -295
- scripts/csl_model.py +0 -436
- scripts/csl_restore_setup.py +0 -230
- scripts/export-grafana-dashboards.py +0 -50
- scripts/fdir/cs_recovery/fdir_cs_recovery.py +0 -59
- scripts/fdir/fdir_table.yaml +0 -70
- scripts/fdir/fdir_test_recovery.py +0 -11
- scripts/fdir/hw_recovery/fdir_agilent_hw_recovery.py +0 -73
- scripts/fdir/limit_recovery/fdir_agilent_limit.py +0 -64
- scripts/fdir/limit_recovery/fdir_bb_heater_limit.py +0 -61
- scripts/fdir/limit_recovery/fdir_ensemble_limit.py +0 -33
- scripts/fdir/limit_recovery/fdir_pressure_limit_recovery.py +0 -71
- scripts/fix_csv.py +0 -80
- scripts/n_fee_supply_voltage_calculation.py +0 -92
- scripts/playground.py +0 -30
- scripts/print_hdf5_hk_data.py +0 -68
- scripts/print_register_map.py +0 -43
- scripts/sron/commanding/control_heaters.py +0 -44
- scripts/sron/commanding/pumpdown.py +0 -46
- scripts/sron/commanding/set_pid_setpoint.py +0 -19
- scripts/sron/commanding/shutdown_bbb_heaters.py +0 -10
- scripts/sron/commanding/shutdown_pumps.py +0 -33
- scripts/sron/tm_gen/tm_gen_agilent.py +0 -38
- scripts/sron/tm_gen/tm_gen_heaters.py +0 -4
- scripts/sron/tm_gen/tm_gen_spid.py +0 -13
- scripts/update_operational_cgse.py +0 -268
- scripts/update_operational_cgse_old.py +0 -273
egse/tempcontrol/srs/ptc10.yaml
DELETED
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
BaseClass:
|
|
2
|
-
egse.tempcontrol.srs.ptc10.ptc10Interface
|
|
3
|
-
|
|
4
|
-
ProxyClass:
|
|
5
|
-
egse.tempcontrol.srs.ptc10.ptc10Proxy
|
|
6
|
-
|
|
7
|
-
ControlServerClass:
|
|
8
|
-
egse.tempcontrol.srs.ptc10_cs.ptc10ControlServer
|
|
9
|
-
|
|
10
|
-
ControlServer:
|
|
11
|
-
egse.tempcontrol.srs.ptc10_cs
|
|
12
|
-
|
|
13
|
-
UserInterface:
|
|
14
|
-
egse.tempcontrol.srs.ptc10_ui
|
|
15
|
-
|
|
16
|
-
Commands:
|
|
17
|
-
|
|
18
|
-
# Each of these groups is parsed and used on both the server and the client side.
|
|
19
|
-
# The group name (e.g. is_simulator) will be monkey patched in the Proxy class for the device or service.
|
|
20
|
-
# The other field are:
|
|
21
|
-
# description: Used by the doc_string method to generate a help string
|
|
22
|
-
# cmd: Command string that will eventually be send to the hardware controller for the
|
|
23
|
-
# device after the arguments have been filled.
|
|
24
|
-
# device_method: The name of the method to be called on the device class.
|
|
25
|
-
# These should all be defined by the base class for the device.
|
|
26
|
-
# This method should exist in the subclass of the CommandProtocol base class.
|
|
27
|
-
|
|
28
|
-
# Definition of the the DeviceInterface
|
|
29
|
-
|
|
30
|
-
disconnect:
|
|
31
|
-
description: Disconnect from the Temperature regulator controller. This command will be send to the
|
|
32
|
-
Thorlabs Control Server which will then disconnect from the hardware controller.
|
|
33
|
-
This command doesn't affect the ZeroMQ connection of this Proxy to the
|
|
34
|
-
control server. Use the service command ``disconnect_cs()`` to disconnect
|
|
35
|
-
from the control server.
|
|
36
|
-
|
|
37
|
-
connect:
|
|
38
|
-
description: Connect the temperature hardware controller
|
|
39
|
-
|
|
40
|
-
reconnect:
|
|
41
|
-
description: Reconnect the temperature hardware controller.
|
|
42
|
-
|
|
43
|
-
This command will force a disconnect and then try to re-connect to the controller.
|
|
44
|
-
|
|
45
|
-
is_simulator:
|
|
46
|
-
description: Ask if the control server is a simulator instead of the real SRSPTC10Controller class.
|
|
47
|
-
returns: bool | True if the far end is a simulator instead of the real hardware
|
|
48
|
-
|
|
49
|
-
is_connected:
|
|
50
|
-
description: Check if the SRS Hardware Controller is connected.
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
# Definition of the device commands
|
|
54
|
-
info:
|
|
55
|
-
description: Returns basic information about the device, its name, firmware version etc.
|
|
56
|
-
returns: str
|
|
57
|
-
|
|
58
|
-
alarm_status:
|
|
59
|
-
description: Returns the current status of the Alarm Status Register, and then clears the register.
|
|
60
|
-
returns: str
|
|
61
|
-
|
|
62
|
-
get_names:
|
|
63
|
-
description: Returns a tuple of 2 lists with the names of inputs (4 sensors) in the first list and the names of
|
|
64
|
-
outputs (3 heaters) in the second list.
|
|
65
|
-
returns: tuple
|
|
66
|
-
|
|
67
|
-
set_name:
|
|
68
|
-
description: Modifies the name of the specified channel (input or output).
|
|
69
|
-
cmd: '{old_name} {new_name}'
|
|
70
|
-
|
|
71
|
-
clear_error:
|
|
72
|
-
description: Erases all error messages for the port over which the instruction was transmitted. Also clears all messages
|
|
73
|
-
from the System.Com. Errors window regardless of which port generated them.
|
|
74
|
-
|
|
75
|
-
stop:
|
|
76
|
-
description: kill.all stops all currently running macros with the given runtime name. The runtime name is assigned with the
|
|
77
|
-
"name" instruction and is not necessarily the same as the file name that a macro may be saved under.
|
|
78
|
-
The kill.all instruction stops all currently-running macros regardless of name or which port started the macro.
|
|
79
|
-
|
|
80
|
-
standby:
|
|
81
|
-
description: Puts the PTC10 into stby mode, in which the outputs are turned off, data acquisition is paused, macros are
|
|
82
|
-
paused, the front panel display and system fan are shut off, and the system does not respond to remote commands.
|
|
83
|
-
The PTC321's excitation currents remain on, and the chassis cooling fan may switch on occassionally.
|
|
84
|
-
Press the "Output Enable" key to exit standby mode. There is no remote command to leave stand by mode.
|
|
85
|
-
|
|
86
|
-
reset:
|
|
87
|
-
description: Resets the PTC10.
|
|
88
|
-
The *RST instruction is equivalent to turning the instrument off and back on again, except the Power On bit of
|
|
89
|
-
the Event Status Register is not set. *RST has the following effects
|
|
90
|
-
- Outputs are disabled (as if the “Output enable” button were pressed).
|
|
91
|
-
- All currently-running macros are stopped, regardless of whether the macros were started by the GPIB interface,
|
|
92
|
-
another I/O port, or the Program screen.
|
|
93
|
-
- The instrument returns to the Select screen.
|
|
94
|
-
-Partially-received instructions on all I/O ports are cleared.
|
|
95
|
-
- All pending transmissions on all I/O ports are cancelled.
|
|
96
|
-
- The error queues for all I/O ports are cleared.
|
|
97
|
-
- The plot screen returns to showing the most recent data on autoscaled Y axes.
|
|
98
|
-
- The instrument automatically triggers at the rate set with the “A/D rate” control.
|
|
99
|
-
- Clears all locally-stored log data. Logs on USB devices are not affected. If data is not being logged to a
|
|
100
|
-
USB storage device, the Plot screen shows no accumulated data immediately after a *RST command.
|
|
101
|
-
|
|
102
|
-
read_temperature:
|
|
103
|
-
description: Reads the temperature from the 3 PT1000 corresponding to TRP2/TRP3/TRP4.
|
|
104
|
-
returns: list
|
|
105
|
-
|
|
106
|
-
read_heater:
|
|
107
|
-
description: Reads the 3x heater outputs with the unit (W, A or V).
|
|
108
|
-
Returns a tuple. 1st element is a list with the 3 values of the heaters. 2nd element is a string with the unit
|
|
109
|
-
('W', 'A' or 'V').
|
|
110
|
-
returns: tuple
|
|
111
|
-
|
|
112
|
-
disable_heater:
|
|
113
|
-
description: Disables the specified heater output. output_ch = 1, 2, 3
|
|
114
|
-
<channel>.Off cancels any active autotuning process, turns PID feedback off, and sets the channel's
|
|
115
|
-
output to zero or the lower limit.
|
|
116
|
-
cmd: '{output_ch}'
|
|
117
|
-
|
|
118
|
-
outputs_enable:
|
|
119
|
-
description: Enables all outputs. Equivalent to press the red button twice on the front panel of the PTC10 when outputs disabled.
|
|
120
|
-
|
|
121
|
-
outputs_disable:
|
|
122
|
-
description: Disables all outputs. Equivalent to press the red button on the front panel of the PTC10 when output enabled.
|
|
123
|
-
|
|
124
|
-
disable_all:
|
|
125
|
-
description: Both disable_heater function used for all heaters AND outputs_disable.
|
|
126
|
-
|
|
127
|
-
is_outputs_enable:
|
|
128
|
-
description: Returns a boolean corresponding to the state of the red button/light on the front panel of the PTC10.
|
|
129
|
-
True means outputs enabled (red light switch on)
|
|
130
|
-
False means outputs disabled (red light switch off)
|
|
131
|
-
returns: bool
|
|
132
|
-
|
|
133
|
-
output_limit:
|
|
134
|
-
description: Sets the min and max output and can be used to prevent the PID loop for delivering excessive power to a
|
|
135
|
-
heater. The limits must be expressed in the same units that the output is expressed in. The limits must
|
|
136
|
-
normally be reset when the output units are changed, since the limits are not converted to the new units.
|
|
137
|
-
output_ch = 1, 2, 3
|
|
138
|
-
low = float >= 0
|
|
139
|
-
high = float > low
|
|
140
|
-
cmd: '{output_ch} {low} {high}'
|
|
141
|
-
|
|
142
|
-
output_unit:
|
|
143
|
-
description: Sets the unit for the 3 heaters
|
|
144
|
-
unit = W, A, V, or in lowercase w, a, v
|
|
145
|
-
cmd: '{unit}'
|
|
146
|
-
|
|
147
|
-
set_heater_input:
|
|
148
|
-
description: Sets the sensor as input for the specified heater.
|
|
149
|
-
output_ch = 1, 2, 3
|
|
150
|
-
input = name of the sensor (e.g. TRP2)
|
|
151
|
-
cmd: '{output_ch} {input}'
|
|
152
|
-
|
|
153
|
-
setpoint:
|
|
154
|
-
description: Sets the temperature setpoint. The PID attemps to keep the input at this value by changing the output.
|
|
155
|
-
output_ch = 1, 2, 3
|
|
156
|
-
setpoint = float (°C)
|
|
157
|
-
cmd: '{output_ch} {setpoint}'
|
|
158
|
-
|
|
159
|
-
get_PID:
|
|
160
|
-
description: Returns a dictionary with P, I and D parameters as float,
|
|
161
|
-
{"P" P_value, "I" I_value, "D" D_value}
|
|
162
|
-
output_ch = 1, 2, 3
|
|
163
|
-
cmd: '{output_ch}'
|
|
164
|
-
|
|
165
|
-
set_PID:
|
|
166
|
-
description: The input must be stable before either Step or Relay tuning is started. Furthermore, the output must be greater
|
|
167
|
-
than half the step height before starting relay tuning. The best time to start a step response is when the
|
|
168
|
-
system is first turned on at the beginning of the day, i.e the heater is cold and its temperature stable.
|
|
169
|
-
See User Manual for further details.
|
|
170
|
-
input_ch parameter sets the PID input channel which is the temperature that the PID feedback loop controls. intput_ch = 1, 2, 3
|
|
171
|
-
output_ch parameter sets the PID output channel. output_ch = 1, 2, 3
|
|
172
|
-
PID parameter sets the three coefficients respectively in P, I and D. PID = [float, float, float]
|
|
173
|
-
cmd: '{input_ch} {output_ch} {PID}'
|
|
174
|
-
|
|
175
|
-
autotune_PID:
|
|
176
|
-
description: Configures the PID with autotune.
|
|
177
|
-
User Manual p.50 "If the system has never been tuned, start with the feedback turned off and the heater at ambient temperature.
|
|
178
|
-
If the system has been tuned before, it’s better to wait for the temperature to stabilize at the setpoint.
|
|
179
|
-
In either case, the key to successful autotuning is to start with a stable temperature."
|
|
180
|
-
Prints message if failure to autotune PID. Old values for P, I and D are retained.
|
|
181
|
-
input_ch parameter sets the PID input channel which is the temperature that the PID feedback loop controls. intput_ch = 1, 2, 3
|
|
182
|
-
output_ch parameter sets the PID output channel. output_ch = 1, 2, 3
|
|
183
|
-
cmd: '{input_ch} {output_ch}'
|
|
184
|
-
|
|
185
|
-
set_auto:
|
|
186
|
-
description: Enables the specified output to reach the specified setpoint automatically.
|
|
187
|
-
output_ch = 1, 2, 3
|
|
188
|
-
setpoint = float (°C)
|
|
189
|
-
cmd: '{output_ch} {setpoint}'
|
|
190
|
-
|
|
191
|
-
set_manual:
|
|
192
|
-
description: Enables the specified output manually with the specified value.
|
|
193
|
-
The unit is the one currently in effect (W, A or V).
|
|
194
|
-
output_ch = 1, 2, 3
|
|
195
|
-
value = float >= 0
|
|
196
|
-
cmd: '{output_ch} {value}'
|
|
197
|
-
|
|
198
|
-
set_survival:
|
|
199
|
-
description: Sets all outputs to the min Non op temperature for TRP2, TRP3 and TRP4 as given in the Setup YAML file.
|
|
200
|
-
We assume that P, I and D coefficients are already correctly set.
|
|
201
|
-
|
|
202
|
-
set_stable:
|
|
203
|
-
description: Sets all outputs to the same temperature setpoint given as parameter.
|
|
204
|
-
We assume that P, I and D coefficients are already correctly set.
|
|
205
|
-
cmd: '{setpoint}'
|
|
206
|
-
|
|
207
|
-
set_custom:
|
|
208
|
-
description: Sets the outputs given as parameter to the corresponding temperature given as parameter.
|
|
209
|
-
If an output channel is not given as parameter in the dictionary outputs_dict, this output
|
|
210
|
-
channel will remain at the same state and with same setpoint as before.
|
|
211
|
-
outputs_dict = {output_ch setpoint} for example, { 3 -110, 1 -106 }
|
|
212
|
-
cmd: '{outputs_dict}'
|
|
213
|
-
|
|
214
|
-
heater_sensor_error:
|
|
215
|
-
description: Returns a list with names of sensors (TRP) and heaters which cannot be read by the PTC10.
|
|
216
|
-
returns: list
|
|
217
|
-
|
|
218
|
-
disable_heater_error:
|
|
219
|
-
description: Disables heaters whose PT1000 sensors are faulty.
|
|
220
|
-
This function does not re-enable heater if a PT1000 is no longer faulty.
|
|
221
|
-
|
|
222
|
-
get_time:
|
|
223
|
-
description: Returns PTC10 time as a string.
|
|
224
|
-
returns: str
|
|
225
|
-
|
|
226
|
-
update_time:
|
|
227
|
-
description: Updates the PTC10 date and time in UTC from the server's time which is ntp synchronised.
|
egse/tempcontrol/srs/ptc10_cs.py
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import argparse
|
|
2
|
-
import click
|
|
3
|
-
import logging
|
|
4
|
-
import sys
|
|
5
|
-
|
|
6
|
-
import zmq
|
|
7
|
-
|
|
8
|
-
from egse.control import ControlServer
|
|
9
|
-
from egse.tempcontrol.srs.ptc10 import ptc10Proxy
|
|
10
|
-
from egse.tempcontrol.srs.ptc10_protocol import ptc10Protocol
|
|
11
|
-
from egse.settings import Settings
|
|
12
|
-
from egse.zmq_ser import connect_address
|
|
13
|
-
from egse.control import is_control_server_active
|
|
14
|
-
|
|
15
|
-
logger = logging.getLogger(__name__)
|
|
16
|
-
|
|
17
|
-
CTRL_SETTINGS = Settings.load("SRS PTC10 Control Server")
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
def is_ptc10_cs_active(timeout: float = 0.5):
|
|
21
|
-
"""Check if the DAQ6510 Control Server is running.
|
|
22
|
-
|
|
23
|
-
Args:
|
|
24
|
-
timeout (float): timeout when waiting for a reply [seconds, default=0.5]
|
|
25
|
-
Returns:
|
|
26
|
-
True if the control server is running and replied with the expected answer.
|
|
27
|
-
"""
|
|
28
|
-
|
|
29
|
-
endpoint = connect_address(
|
|
30
|
-
CTRL_SETTINGS.PROTOCOL, CTRL_SETTINGS.HOSTNAME, CTRL_SETTINGS.COMMANDING_PORT
|
|
31
|
-
)
|
|
32
|
-
|
|
33
|
-
return is_control_server_active(endpoint, timeout)
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
class ptc10ControlServer(ControlServer):
|
|
37
|
-
"""
|
|
38
|
-
ptc10ControlServer - Command and monitor the PTC10 Temp Controllers.
|
|
39
|
-
This class works as a command and monitoring server to control the Temp Controller remotely.
|
|
40
|
-
The sever binds to the following ZeroMQ sockets:
|
|
41
|
-
* a REQ-REP socket that can be used as a command server. Any client can connect and
|
|
42
|
-
send a command to the Temp controller.
|
|
43
|
-
* a PUB-SUP socket that serves as a monitoring server. It will send out Temp status
|
|
44
|
-
information to all the connected clients every DELAY seconds.
|
|
45
|
-
"""
|
|
46
|
-
|
|
47
|
-
def __init__(self):
|
|
48
|
-
super().__init__()
|
|
49
|
-
|
|
50
|
-
self.device_protocol = ptc10Protocol(self)
|
|
51
|
-
|
|
52
|
-
self.logger.debug(f"Binding ZeroMQ socket to {self.device_protocol.get_bind_address()}")
|
|
53
|
-
|
|
54
|
-
self.device_protocol.bind(self.dev_ctrl_cmd_sock)
|
|
55
|
-
|
|
56
|
-
self.poller.register(self.dev_ctrl_cmd_sock, zmq.POLLIN)
|
|
57
|
-
|
|
58
|
-
def get_communication_protocol(self):
|
|
59
|
-
return CTRL_SETTINGS.PROTOCOL
|
|
60
|
-
|
|
61
|
-
def get_commanding_port(self):
|
|
62
|
-
return CTRL_SETTINGS.COMMANDING_PORT
|
|
63
|
-
|
|
64
|
-
def get_service_port(self):
|
|
65
|
-
return CTRL_SETTINGS.SERVICE_PORT
|
|
66
|
-
|
|
67
|
-
def get_monitoring_port(self):
|
|
68
|
-
return CTRL_SETTINGS.MONITORING_PORT
|
|
69
|
-
|
|
70
|
-
def get_storage_mnemonic(self):
|
|
71
|
-
try:
|
|
72
|
-
return CTRL_SETTINGS.STORAGE_MNEMONIC
|
|
73
|
-
except AttributeError:
|
|
74
|
-
return "DAS-PTC10-EMPTY"
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
@click.group()
|
|
78
|
-
def cli():
|
|
79
|
-
pass
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
@cli.command()
|
|
83
|
-
@click.option("--simulator", "--sim", is_flag=True, help="Start the PTC10 Temp Simulator as the backend.")
|
|
84
|
-
def start(simulator):
|
|
85
|
-
"""Start the PTC10 Temp Control Server."""
|
|
86
|
-
|
|
87
|
-
if simulator:
|
|
88
|
-
|
|
89
|
-
Settings.set_simulation_mode(True)
|
|
90
|
-
|
|
91
|
-
try:
|
|
92
|
-
|
|
93
|
-
controller = ptc10ControlServer()
|
|
94
|
-
controller.serve()
|
|
95
|
-
|
|
96
|
-
except KeyboardInterrupt:
|
|
97
|
-
|
|
98
|
-
print("Shutdown requested...exiting")
|
|
99
|
-
|
|
100
|
-
except SystemExit as exit_code:
|
|
101
|
-
|
|
102
|
-
print("System Exit with code {}.".format(exit_code))
|
|
103
|
-
sys.exit(exit_code)
|
|
104
|
-
|
|
105
|
-
except Exception:
|
|
106
|
-
|
|
107
|
-
logger.exception("Cannot start the PTC10 Temp Control Server")
|
|
108
|
-
|
|
109
|
-
# The above line does exactly the same as the traceback, but on the logger
|
|
110
|
-
# import traceback
|
|
111
|
-
# traceback.print_exc(file=sys.stdout)
|
|
112
|
-
|
|
113
|
-
return 0
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
@cli.command()
|
|
117
|
-
def stop():
|
|
118
|
-
"""Send a 'quit_server' command to the PTC10 Temp Control Server."""
|
|
119
|
-
|
|
120
|
-
with ptc10Proxy() as proxy:
|
|
121
|
-
|
|
122
|
-
sp = proxy.get_service_proxy()
|
|
123
|
-
sp.quit_server()
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
if __name__ == "__main__":
|
|
127
|
-
|
|
128
|
-
sys.exit(cli())
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
The device interface for the temperature regulation controller that will be used at IAS for TVAC the PLATO Cameras.
|
|
3
|
-
|
|
4
|
-
"""
|
|
5
|
-
|
|
6
|
-
import logging
|
|
7
|
-
import time
|
|
8
|
-
import datetime
|
|
9
|
-
from typing import List
|
|
10
|
-
|
|
11
|
-
from telnetlib import Telnet
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
from egse.settings import Settings
|
|
15
|
-
from egse.exceptions import DeviceNotFoundError
|
|
16
|
-
from egse.device import DeviceConnectionError
|
|
17
|
-
from egse.device import DeviceConnectionInterface, DeviceTransport, DeviceTimeoutError
|
|
18
|
-
from egse.command import ClientServerCommand
|
|
19
|
-
|
|
20
|
-
logger = logging.getLogger(__name__)
|
|
21
|
-
|
|
22
|
-
ctrl_settings = Settings.load("SRS PTC10 Controller")
|
|
23
|
-
|
|
24
|
-
IDENTIFICATION_QUERY = "*IDN?"
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
class ptc10Error(Exception):
|
|
28
|
-
"""Base exception for all ptc10 errors."""
|
|
29
|
-
pass
|
|
30
|
-
|
|
31
|
-
class ptc10Command(ClientServerCommand):
|
|
32
|
-
def get_cmd_string(self, *args, **kwargs) -> str:
|
|
33
|
-
out = super().get_cmd_string(*args, **kwargs)
|
|
34
|
-
return out + "\n"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
class ptc10TelnetInterface(DeviceConnectionInterface, DeviceTransport):
|
|
38
|
-
"Low level Telnet IF"
|
|
39
|
-
TELNET_TIMEOUT = 0.5
|
|
40
|
-
|
|
41
|
-
def __init__(self):
|
|
42
|
-
self._temp = None
|
|
43
|
-
self.telnet = Telnet()
|
|
44
|
-
self.is_connection_open = False
|
|
45
|
-
self._id = None
|
|
46
|
-
|
|
47
|
-
def connect(self, hostname: str):
|
|
48
|
-
|
|
49
|
-
try:
|
|
50
|
-
self.telnet.open(hostname, 23)
|
|
51
|
-
time.sleep(0.5)
|
|
52
|
-
# Asking for instrument description
|
|
53
|
-
_id = self.get_id()
|
|
54
|
-
logger.warning(f"Connected to: {_id}")
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
except (ValueError, Exception) as exc:
|
|
58
|
-
logger.warning(f"Could not open device connection: {exc}")
|
|
59
|
-
raise DeviceNotFoundError("Could not open device connection.") from exc
|
|
60
|
-
|
|
61
|
-
self.is_connection_open = True
|
|
62
|
-
|
|
63
|
-
def disconnect(self):
|
|
64
|
-
"""
|
|
65
|
-
Disconnects from the device
|
|
66
|
-
Raises:
|
|
67
|
-
DeviceConnectionError when the connection has not been closed correctly
|
|
68
|
-
|
|
69
|
-
"""
|
|
70
|
-
try:
|
|
71
|
-
if self.is_connection_open:
|
|
72
|
-
logger.debug(f"disconnecting from {self._id}")
|
|
73
|
-
|
|
74
|
-
self.telnet.read_very_eager()
|
|
75
|
-
self.telnet.close()
|
|
76
|
-
|
|
77
|
-
self.is_connection_open= False
|
|
78
|
-
logger.info("PTC10 device has been disconnected")
|
|
79
|
-
|
|
80
|
-
except Exception as e_exc:
|
|
81
|
-
raise DeviceConnectionError(f"Couldn't close the device connection: {self.device_id}") from e_exc
|
|
82
|
-
|
|
83
|
-
def is_connected(self):
|
|
84
|
-
"""Return True if the device is connected."""
|
|
85
|
-
if not self.is_connection_open:
|
|
86
|
-
return False
|
|
87
|
-
try:
|
|
88
|
-
self.write(IDENTIFICATION_QUERY)
|
|
89
|
-
time.sleep(0.1)
|
|
90
|
-
_id = self.read()
|
|
91
|
-
time.sleep(0.1)
|
|
92
|
-
except OSError: # FIXME: Check which errors are actually thrown here
|
|
93
|
-
self.disconnect()
|
|
94
|
-
return False
|
|
95
|
-
return True
|
|
96
|
-
|
|
97
|
-
def get_response(self, cmd_string):
|
|
98
|
-
pass
|
|
99
|
-
|
|
100
|
-
def get_id(self):
|
|
101
|
-
self.write("Description")
|
|
102
|
-
self._id = self.read()
|
|
103
|
-
return self._id
|
|
104
|
-
|
|
105
|
-
def write(self, cmd: str):
|
|
106
|
-
self.telnet.write(cmd.encode() + b"\r\n")
|
|
107
|
-
|
|
108
|
-
def read(self):
|
|
109
|
-
response = self.telnet.read_until(b'\x06\r\n', timeout=self.TELNET_TIMEOUT)
|
|
110
|
-
response = response.decode()
|
|
111
|
-
parts = response.replace("\r\n", "")
|
|
112
|
-
return parts
|
|
113
|
-
|
|
114
|
-
def trans(self, cmd: str) -> List:
|
|
115
|
-
self.write(cmd)
|
|
116
|
-
response = self.read()
|
|
117
|
-
return response
|
|
118
|
-
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
from egse.control import ControlServer
|
|
2
|
-
# from egse.metrics import define_metrics
|
|
3
|
-
from egse.synoptics import SynopticsManagerProxy
|
|
4
|
-
from egse.tempcontrol.srs.ptc10 import ptc10Controller, ptc10Simulator, ptc10Interface
|
|
5
|
-
from egse.tempcontrol.srs.ptc10_devif import ptc10Command
|
|
6
|
-
|
|
7
|
-
from egse.protocol import CommandProtocol
|
|
8
|
-
from egse.settings import Settings
|
|
9
|
-
from egse.system import format_datetime
|
|
10
|
-
from egse.zmq_ser import bind_address
|
|
11
|
-
|
|
12
|
-
COMMAND_SETTINGS = Settings.load(filename="ptc10.yaml")
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
class ptc10Protocol(CommandProtocol):
|
|
16
|
-
def __init__(self, control_server: ControlServer):
|
|
17
|
-
super().__init__()
|
|
18
|
-
self.control_server = control_server
|
|
19
|
-
|
|
20
|
-
if Settings.simulation_mode():
|
|
21
|
-
self.temp = ptc10Simulator()
|
|
22
|
-
else:
|
|
23
|
-
self.temp = ptc10Controller()
|
|
24
|
-
|
|
25
|
-
self.load_commands(
|
|
26
|
-
COMMAND_SETTINGS.Commands, ptc10Command, ptc10Interface
|
|
27
|
-
)
|
|
28
|
-
|
|
29
|
-
self.build_device_method_lookup_table(self.temp)
|
|
30
|
-
|
|
31
|
-
def get_bind_address(self):
|
|
32
|
-
return bind_address(
|
|
33
|
-
self.control_server.get_communication_protocol(),
|
|
34
|
-
self.control_server.get_commanding_port(),
|
|
35
|
-
)
|
|
36
|
-
|
|
37
|
-
def get_status(self):
|
|
38
|
-
return super().get_status()
|
|
39
|
-
|
|
40
|
-
def get_housekeeping(self) -> dict:
|
|
41
|
-
result = dict()
|
|
42
|
-
return result
|