hardware-control 2.2.0__tar.gz → 3.0.1__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 (308) hide show
  1. {hardware-control-2.2.0 → hardware-control-3.0.1}/.pre-commit-config.yaml +3 -3
  2. {hardware-control-2.2.0 → hardware-control-3.0.1}/.readthedocs.yaml +7 -1
  3. {hardware-control-2.2.0/docs/source → hardware-control-3.0.1}/CHANGELOG.md +43 -1
  4. {hardware-control-2.2.0 → hardware-control-3.0.1}/PKG-INFO +3 -3
  5. {hardware-control-2.2.0 → hardware-control-3.0.1}/bitbucket-pipelines.yml +1 -1
  6. {hardware-control-2.2.0 → hardware-control-3.0.1/docs/source}/CHANGELOG.md +43 -1
  7. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/adding_user_interfaces.md +9 -6
  8. hardware-control-3.0.1/docs/source/images/Lake_Shore_372.png +0 -0
  9. hardware-control-3.0.1/docs/source/images/TPI.jpg +0 -0
  10. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/index.rst +1 -1
  11. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/installation.rst +1 -1
  12. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/instrument_index.rst +2 -0
  13. hardware-control-3.0.1/docs/source/instruments/lakeshore.rst +27 -0
  14. hardware-control-3.0.1/docs/source/instruments/picotech.rst +10 -0
  15. hardware-control-3.0.1/docs/source/instruments/trinity_power.rst +11 -0
  16. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/outlook.md +3 -3
  17. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/supported_instruments.rst +6 -0
  18. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/using_hardware_control.md +1 -1
  19. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/Single_Instrument_Demos/Caen14xxET_demo.py +1 -1
  20. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/Single_Instrument_Demos/DelayGenerator_demo.py +1 -1
  21. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/Single_Instrument_Demos/FlowController_demo.py +1 -1
  22. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/Single_Instrument_Demos/FunctionGenerator_demo.py +1 -1
  23. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/Single_Instrument_Demos/FunctionGenerator_demo_Siglent.py +1 -1
  24. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/Single_Instrument_Demos/IOModule_demo.py +1 -1
  25. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/Single_Instrument_Demos/KeysightPowerSupply_demo.py +2 -2
  26. hardware-control-3.0.1/examples/Single_Instrument_Demos/MicrowaveController_demo.py +63 -0
  27. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/Single_Instrument_Demos/Oscilloscope_demo.py +1 -1
  28. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/Single_Instrument_Demos/Oscilloscope_demo_Rigol.py +1 -1
  29. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/Single_Instrument_Demos/Picoscope_demo.py +1 -1
  30. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/Single_Instrument_Demos/RGA_demo.py +1 -1
  31. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/Single_Instrument_Demos/RigolPowerSupply_demo.py +1 -1
  32. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/Single_Instrument_Demos/TDKLGenH_demo.py +1 -1
  33. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/Single_Instrument_Demos/TempMonitor_demo.py +1 -1
  34. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/dataset_plotting.py +1 -1
  35. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/hooks.py +1 -1
  36. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/interactive_python.py +1 -1
  37. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/remote_instrument/main_app.py +1 -1
  38. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/scan_widget.py +1 -1
  39. hardware-control-3.0.1/hardware_control/_version.py +4 -0
  40. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/base/App.py +2 -2
  41. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/base/Dataset.py +12 -2
  42. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/base/HCMainWindow.py +2 -2
  43. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/base/Instrument.py +13 -9
  44. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/base/__init__.py +1 -1
  45. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/base/hooks.py +1 -1
  46. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/gui/controls/DelayGenerator.py +4 -4
  47. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/gui/controls/DeviceTemplate.py +1 -9
  48. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/gui/controls/FlowController.py +1 -9
  49. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/gui/controls/FunctionGenerator.py +2 -2
  50. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/gui/controls/IOModule.py +2 -2
  51. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/gui/controls/KeysightPowerSupply.py +1 -1
  52. hardware-control-3.0.1/hardware_control/gui/controls/MicrowaveControl.py +106 -0
  53. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/gui/controls/MultiPowerSupply.py +13 -9
  54. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/gui/controls/Oscilloscope.py +18 -10
  55. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/gui/controls/RGA.py +2 -19
  56. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/gui/controls/TempMonitor.py +2 -14
  57. hardware-control-3.0.1/hardware_control/gui/controls/TempMonitor_Adam.py +66 -0
  58. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/gui/controls/__init__.py +2 -0
  59. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/gui/widgets/connection_status.py +3 -3
  60. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/gui/widgets/data_widget.py +2 -2
  61. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/gui/widgets/function_runner.py +2 -2
  62. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/gui/widgets/hc_widgets.py +92 -24
  63. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/gui/widgets/plot.py +18 -10
  64. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/gui/widgets/scan_widget.py +50 -27
  65. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/gui/widgets/trace_plotter.py +5 -3
  66. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/HP/HP_34401A.py +6 -0
  67. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/HP/HP_3478A.py +0 -1
  68. hardware-control-3.0.1/hardware_control/instruments/Keithley/Keithley_2001.py +73 -0
  69. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/Keithley/Keithley_2400.py +10 -15
  70. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/Keithley/__init__.py +1 -0
  71. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/__init__.py +3 -0
  72. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/advantech/Adam_6015.py +1 -1
  73. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/advantech/Adam_6024.py +31 -0
  74. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/caen/Caen_RSeries.py +6 -3
  75. hardware-control-3.0.1/hardware_control/instruments/lakeshore/Lakeshore224.py +54 -0
  76. hardware-control-3.0.1/hardware_control/instruments/lakeshore/Lakeshore372.py +40 -0
  77. hardware-control-2.2.0/hardware_control/instruments/lakeshore/Lakeshore224.py → hardware-control-3.0.1/hardware_control/instruments/lakeshore/LakeshoreBase.py +11 -30
  78. hardware-control-3.0.1/hardware_control/instruments/lakeshore/__init__.py +3 -0
  79. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/mks/VQM835.py +2 -1
  80. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/ni/Ni_9000.py +1 -1
  81. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/picotech/Picoscope.py +4 -0
  82. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/srs/SRS_CIS200.py +2 -0
  83. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/srs/SRS_DG535.py +4 -3
  84. hardware-control-3.0.1/hardware_control/instruments/srs/SRS_DG645.py +202 -0
  85. hardware-control-3.0.1/hardware_control/instruments/trinity_power/__init__.py +1 -0
  86. hardware-control-3.0.1/hardware_control/instruments/trinity_power/tpi.py +243 -0
  87. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control.egg-info/PKG-INFO +3 -3
  88. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control.egg-info/SOURCES.txt +13 -0
  89. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control.egg-info/requires.txt +4 -5
  90. {hardware-control-2.2.0 → hardware-control-3.0.1}/pyproject.toml +1 -1
  91. {hardware-control-2.2.0 → hardware-control-3.0.1}/setup.cfg +6 -7
  92. hardware-control-2.2.0/docs/source/instruments/picotech.rst +0 -10
  93. hardware-control-2.2.0/hardware_control/_version.py +0 -5
  94. hardware-control-2.2.0/hardware_control/instruments/lakeshore/__init__.py +0 -1
  95. {hardware-control-2.2.0 → hardware-control-3.0.1}/.gitignore +0 -0
  96. {hardware-control-2.2.0 → hardware-control-3.0.1}/COPYRIGHT +0 -0
  97. {hardware-control-2.2.0 → hardware-control-3.0.1}/LICENSE +0 -0
  98. {hardware-control-2.2.0 → hardware-control-3.0.1}/MANIFEST.in +0 -0
  99. {hardware-control-2.2.0 → hardware-control-3.0.1}/README.md +0 -0
  100. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/Makefile +0 -0
  101. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/make.bat +0 -0
  102. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/adding_commands.md +0 -0
  103. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/adding_instruments.md +0 -0
  104. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/base/App.rst +0 -0
  105. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/base/Dataset.rst +0 -0
  106. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/base/HCMainWindow.rst +0 -0
  107. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/base/Instrument.rst +0 -0
  108. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/base/ZMQAdapter.rst +0 -0
  109. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/base/ZMQRemoteAdapter.rst +0 -0
  110. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/base/hooks.rst +0 -0
  111. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/base/logging.rst +0 -0
  112. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/base/zmq_helper.rst +0 -0
  113. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/base_index.rst +0 -0
  114. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/conf.py +0 -0
  115. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/examples.md +0 -0
  116. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/gui/controls/DelayGenerator.rst +0 -0
  117. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/gui/controls/FlowController.rst +0 -0
  118. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/gui/controls/FunctionGenerator.rst +0 -0
  119. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/gui/controls/IOModule.rst +0 -0
  120. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/gui/controls/KeysightPowerSupply.rst +0 -0
  121. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/gui/controls/MultiPowerSupply.rst +0 -0
  122. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/gui/controls/Oscilloscope.rst +0 -0
  123. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/gui/controls/RGA.rst +0 -0
  124. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/gui/controls/TempMonitor.rst +0 -0
  125. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/gui/widgets/connection_status.rst +0 -0
  126. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/gui/widgets/data_widget.rst +0 -0
  127. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/gui/widgets/function_runner.rst +0 -0
  128. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/gui/widgets/hc_widgets.rst +0 -0
  129. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/gui/widgets/plot.rst +0 -0
  130. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/gui/widgets/qtconsole.rst +0 -0
  131. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/gui/widgets/scan_widget.rst +0 -0
  132. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/gui_index.rst +0 -0
  133. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/hardware_control.rst +0 -0
  134. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/how_to_contribute.rst +0 -0
  135. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/howtos.rst +0 -0
  136. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/ADAM-6015.jpg +0 -0
  137. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/ADAM-6024.jpg +0 -0
  138. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/Alicat_M-Series.jpg +0 -0
  139. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/CAENR14xxET.jpg +0 -0
  140. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/CAENR803x.jpg +0 -0
  141. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/DG535.jpg +0 -0
  142. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/GP356.jpg +0 -0
  143. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/GP_VQM835.jpg +0 -0
  144. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/HP-34401A.jpg +0 -0
  145. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/HP-3478A.jpg +0 -0
  146. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/Keysight33500B.png +0 -0
  147. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/Keysight4000X.jpeg +0 -0
  148. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/Keysight_E36312A.png +0 -0
  149. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/Lake_Shore_224.png +0 -0
  150. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/NI9000.jpeg +0 -0
  151. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/Pico_6000.jpg +0 -0
  152. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/RigolDP800.png +0 -0
  153. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/RigolDS100Z.png +0 -0
  154. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/SDG1000X.png +0 -0
  155. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/SRS_CIS.jpg +0 -0
  156. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/TDKLGenH.jpg +0 -0
  157. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/controls/DelayGenerator.png +0 -0
  158. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/controls/FlowController.png +0 -0
  159. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/controls/FunctionGenerator.png +0 -0
  160. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/controls/IOModule.png +0 -0
  161. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/controls/KeysightPowerSupply.png +0 -0
  162. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/controls/MultiPowerSupply.png +0 -0
  163. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/controls/Oscilloscope.png +0 -0
  164. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/controls/RGA.png +0 -0
  165. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/controls/TempMonitor.png +0 -0
  166. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/widgets/connection_status.png +0 -0
  167. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/widgets/data_widget.png +0 -0
  168. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/widgets/function_runner.png +0 -0
  169. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/widgets/plot.png +0 -0
  170. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/widgets/qtconsole.png +0 -0
  171. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/widgets/scan_example.png +0 -0
  172. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/images/widgets/scan_widget.png +0 -0
  173. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/instruments/advantech.rst +0 -0
  174. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/instruments/alicat.rst +0 -0
  175. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/instruments/caen.rst +0 -0
  176. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/instruments/keysight.rst +0 -0
  177. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/instruments/ni.rst +0 -0
  178. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/instruments/rigol.rst +0 -0
  179. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/instruments/siglent.rst +0 -0
  180. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/instruments/srs.rst +0 -0
  181. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/instruments/tdkl.rst +0 -0
  182. {hardware-control-2.2.0 → hardware-control-3.0.1}/docs/source/overview.md +0 -0
  183. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/Single_Instrument_Demos/README.md +0 -0
  184. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/Single_Instrument_Demos/settings_files/IOModule_channel_data.json +0 -0
  185. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/Single_Instrument_Demos/settings_files/keysight_powersupply_init.json +0 -0
  186. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/Single_Instrument_Demos/settings_files/nidaq_grid_conf.json +0 -0
  187. {hardware-control-2.2.0 → hardware-control-3.0.1}/examples/remote_instrument/client.py +0 -0
  188. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/__init__.py +0 -0
  189. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/base/ZMQAdapter.py +0 -0
  190. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/base/ZMQRemoteAdapter.py +0 -0
  191. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/base/logging.py +0 -0
  192. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/base/zmq_helper.py +0 -0
  193. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/gui/__init__.py +0 -0
  194. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/gui/widgets/__init__.py +0 -0
  195. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/gui/widgets/qtconsole.py +0 -0
  196. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/BWlim.png +0 -0
  197. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/arrow.png +0 -0
  198. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/async_label.png +0 -0
  199. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/autosave_label.png +0 -0
  200. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/blue_ind.svg +0 -0
  201. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/burst.png +0 -0
  202. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/button-power-off.svg +0 -0
  203. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/button-power-on.svg +0 -0
  204. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/button-power-unknown.svg +0 -0
  205. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/ccurrent_label.svg +0 -0
  206. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel1_yellow.png +0 -0
  207. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel2_green.png +0 -0
  208. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel3_blue.png +0 -0
  209. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel4_red.png +0 -0
  210. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel_1.png +0 -0
  211. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel_10.png +0 -0
  212. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel_11.png +0 -0
  213. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel_12.png +0 -0
  214. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel_13.png +0 -0
  215. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel_14.png +0 -0
  216. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel_15.png +0 -0
  217. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel_16.png +0 -0
  218. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel_17.png +0 -0
  219. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel_18.png +0 -0
  220. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel_19.png +0 -0
  221. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel_2.png +0 -0
  222. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel_20.png +0 -0
  223. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel_3.png +0 -0
  224. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel_4.png +0 -0
  225. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel_5.png +0 -0
  226. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel_6.png +0 -0
  227. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel_7.png +0 -0
  228. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel_8.png +0 -0
  229. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/channel_9.png +0 -0
  230. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/cvoltage_label.svg +0 -0
  231. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/disabled_label.svg +0 -0
  232. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/enabled_label.svg +0 -0
  233. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/error_label.svg +0 -0
  234. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/falling_ind.svg +0 -0
  235. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/falling_ind_pale.svg +0 -0
  236. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/gas_flow_label.svg +0 -0
  237. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/green_ind.svg +0 -0
  238. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/grey_ind.svg +0 -0
  239. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/grid_monitor_label.svg +0 -0
  240. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/grid_power_supplies_label.svg +0 -0
  241. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/high_label.svg +0 -0
  242. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/horizontal_label.png +0 -0
  243. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/ind_blue.png +0 -0
  244. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/ind_darkgrey.png +0 -0
  245. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/ind_green.png +0 -0
  246. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/ind_grey.png +0 -0
  247. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/ind_red.png +0 -0
  248. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/invert.png +0 -0
  249. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/low_label.svg +0 -0
  250. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/measurement_label.png +0 -0
  251. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/modulation.png +0 -0
  252. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/na_label.svg +0 -0
  253. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/offline_label.svg +0 -0
  254. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/on-off-indicator-off.svg +0 -0
  255. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/on-off-indicator-on.svg +0 -0
  256. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/on-off-indicator-unkown.svg +0 -0
  257. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/online_label.svg +0 -0
  258. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/plasma_source_timing_settings_label.svg +0 -0
  259. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/power_supply_controls_label.svg +0 -0
  260. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/pulse.png +0 -0
  261. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/rampdn_label.svg +0 -0
  262. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/rampup_label.svg +0 -0
  263. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/red_ind.svg +0 -0
  264. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/rising_ind.svg +0 -0
  265. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/rising_ind_pale.svg +0 -0
  266. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/scan.png +0 -0
  267. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/status_label.png +0 -0
  268. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/steady_ind.svg +0 -0
  269. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/steady_label.svg +0 -0
  270. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/stop.svg +0 -0
  271. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/svg/channel_labels.svg +0 -0
  272. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/svg/connection_label.svg +0 -0
  273. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/svg/func_gen.svg +0 -0
  274. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/svg/labels.afdesign +0 -0
  275. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/svg/rise_fall_source.afdesign +0 -0
  276. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/trigger_label.png +0 -0
  277. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/icons/voltage_off.svg +0 -0
  278. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/HP/__init__.py +0 -0
  279. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/advantech/Adam_base.py +0 -0
  280. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/advantech/__init__.py +0 -0
  281. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/alicat/Alicat_M_Series.py +0 -0
  282. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/alicat/__init__.py +0 -0
  283. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/caen/__init__.py +0 -0
  284. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/demo/demoA.py +0 -0
  285. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/keysight/Keysight_33500B.py +0 -0
  286. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/keysight/Keysight_36300.py +0 -0
  287. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/keysight/Keysight_4000X.py +0 -0
  288. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/keysight/__init__.py +0 -0
  289. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/mks/GP356.py +0 -0
  290. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/mks/__init__.py +0 -0
  291. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/ni/__init__.py +0 -0
  292. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/picotech/__init__.py +0 -0
  293. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/rigol/Rigol_DP832.py +0 -0
  294. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/rigol/Rigol_DS1000Z.py +0 -0
  295. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/rigol/__init__.py +0 -0
  296. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/siglent/Siglent_SDG.py +0 -0
  297. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/siglent/__init__.py +0 -0
  298. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/srs/__init__.py +0 -0
  299. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/tdkl/TDKL_GenH.py +0 -0
  300. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/tdkl/__init__.py +0 -0
  301. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control/instruments/utility.py +0 -0
  302. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control.egg-info/dependency_links.txt +0 -0
  303. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control.egg-info/not-zip-safe +0 -0
  304. {hardware-control-2.2.0 → hardware-control-3.0.1}/hardware_control.egg-info/top_level.txt +0 -0
  305. {hardware-control-2.2.0 → hardware-control-3.0.1}/setup.py +0 -0
  306. {hardware-control-2.2.0 → hardware-control-3.0.1}/tests/test_hooks.py +0 -0
  307. {hardware-control-2.2.0 → hardware-control-3.0.1}/tests/test_instrument.py +0 -0
  308. {hardware-control-2.2.0 → hardware-control-3.0.1}/tests/test_zmq.py +0 -0
@@ -1,18 +1,18 @@
1
1
  repos:
2
2
  - repo: https://github.com/pre-commit/pre-commit-hooks
3
- rev: v4.0.1
3
+ rev: v4.4.0
4
4
  hooks:
5
5
  - id: trailing-whitespace
6
6
  - id: requirements-txt-fixer
7
7
  - id: debug-statements
8
8
  - id: check-merge-conflict
9
9
  - repo: https://github.com/asottile/pyupgrade
10
- rev: v2.24.0
10
+ rev: v3.3.1
11
11
  hooks:
12
12
  - id: pyupgrade
13
13
  args: ["--py36-plus"]
14
14
  - repo: https://github.com/psf/black
15
- rev: 21.7b0
15
+ rev: 23.1.0
16
16
  hooks:
17
17
  - id: black
18
18
  language_version: python3
@@ -5,11 +5,17 @@
5
5
  # Required
6
6
  version: 2
7
7
 
8
+ build:
9
+ os: ubuntu-22.04
10
+ apt_packages:
11
+ - qmake6
12
+ tools:
13
+ python: "3.8"
14
+
8
15
  sphinx:
9
16
  configuration: docs/source/conf.py
10
17
 
11
18
  python:
12
- version: "3.8"
13
19
  install:
14
20
  - method: pip
15
21
  path: .
@@ -7,6 +7,47 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [3.0.1] 2023-02-18
11
+
12
+ ### CHANGED
13
+ - updated docs
14
+ - Removed auto_update from HCPushButton since it connects to a command not a parameter
15
+
16
+ ### FIXED
17
+ - HCLabel: force convertion to string, so that call to .rjust works all the time
18
+ - TPI: several fixes
19
+ - Fix quering for a serial device
20
+
21
+ ## [3.0.0] 2023-02-18
22
+
23
+ The main new feature is updating to pyqt6.
24
+
25
+ ### Changed
26
+ - Update from PyQt5 to PyQt6
27
+ - Update to pymodbus > 3.0.0
28
+ - Update to nidaqmx >= 0.6.4
29
+ - Update qtconsole >= 5.3.2
30
+ - any parameter used in a HC-widget or dataset will now by default be updated in app
31
+
32
+ ### Fixed
33
+ - fixed button click in MultiPowerSupply
34
+ - fixed removing continuous command from Oscilloscope
35
+ - fixed setting value in HCSpinBox
36
+ - fixed try_reconnect for DG5353
37
+ - fixed autoscale in plot widget
38
+
39
+ ### Added
40
+ - TPI: new microwave controller
41
+ - Lakeshore 372: new instrument driver
42
+ - Keithley 2400: add voltage measurements
43
+ - Keithley 2001: new driver
44
+ - SRS CIS200: add clear offset command
45
+ - SRS DG645: new driver
46
+ - CAEN: new function to read out v_max
47
+
48
+ ### Removed
49
+ - GPy dependencies
50
+
10
51
  ## [2.2.0] 2022-07-26
11
52
 
12
53
  ### Added
@@ -17,7 +58,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
17
58
 
18
59
  ## [2.1.1] 2022-04-14
19
60
 
20
- ### FIXED
61
+ ### Fixed
21
62
  - Author list in setup.cfg cannot be multiline
22
63
 
23
64
  ## [2.1.0] 2022-04-13
@@ -88,5 +129,6 @@ Started to use the program at our test stands. Lots of cleanup and improvements
88
129
  - Clean up examples
89
130
 
90
131
  ## [0.0.2] 2020-07-08
132
+
91
133
  ### Added
92
134
  - first release on pypi
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hardware-control
3
- Version: 2.2.0
3
+ Version: 3.0.1
4
4
  Summary: A package to write QT programs to control hardware
5
5
  Home-page: https://bitbucket.org/berkeleylab/hardware-control.git
6
6
  Author: "Ariel Amsellem, Arun Persaud, Brian Mak, Brian Wynne, Grant Giesbrecht, Timo Bauer, Zhihao Qin"
@@ -14,13 +14,13 @@ Classifier: Operating System :: OS Independent
14
14
  Classifier: Development Status :: 5 - Production/Stable
15
15
  Classifier: License :: OSI Approved :: BSD License
16
16
  Classifier: Intended Audience :: Science/Research
17
- Classifier: Programming Language :: Python :: 3.6
18
17
  Classifier: Programming Language :: Python :: 3.7
19
18
  Classifier: Programming Language :: Python :: 3.8
20
19
  Classifier: Programming Language :: Python :: 3.9
21
20
  Classifier: Programming Language :: Python :: 3.10
21
+ Classifier: Programming Language :: Python :: 3.11
22
22
  Classifier: Topic :: Scientific/Engineering :: Physics
23
- Requires-Python: >=3.6
23
+ Requires-Python: >=3.7
24
24
  Description-Content-Type: text/markdown
25
25
  License-File: LICENSE
26
26
 
@@ -9,6 +9,6 @@ pipelines:
9
9
  - pip
10
10
  script:
11
11
  - apt-get update -y
12
- - apt-get install -y libgl1-mesa-glx libsm6 libxext6 libxrender-dev
12
+ - apt-get install -y '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev libdbus-1-dev
13
13
  - pip install .
14
14
  - pytest -v tests/* --junitxml=test-reports/report.xml
@@ -7,6 +7,47 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [3.0.1] 2023-02-18
11
+
12
+ ### CHANGED
13
+ - updated docs
14
+ - Removed auto_update from HCPushButton since it connects to a command not a parameter
15
+
16
+ ### FIXED
17
+ - HCLabel: force convertion to string, so that call to .rjust works all the time
18
+ - TPI: several fixes
19
+ - Fix quering for a serial device
20
+
21
+ ## [3.0.0] 2023-02-18
22
+
23
+ The main new feature is updating to pyqt6.
24
+
25
+ ### Changed
26
+ - Update from PyQt5 to PyQt6
27
+ - Update to pymodbus > 3.0.0
28
+ - Update to nidaqmx >= 0.6.4
29
+ - Update qtconsole >= 5.3.2
30
+ - any parameter used in a HC-widget or dataset will now by default be updated in app
31
+
32
+ ### Fixed
33
+ - fixed button click in MultiPowerSupply
34
+ - fixed removing continuous command from Oscilloscope
35
+ - fixed setting value in HCSpinBox
36
+ - fixed try_reconnect for DG5353
37
+ - fixed autoscale in plot widget
38
+
39
+ ### Added
40
+ - TPI: new microwave controller
41
+ - Lakeshore 372: new instrument driver
42
+ - Keithley 2400: add voltage measurements
43
+ - Keithley 2001: new driver
44
+ - SRS CIS200: add clear offset command
45
+ - SRS DG645: new driver
46
+ - CAEN: new function to read out v_max
47
+
48
+ ### Removed
49
+ - GPy dependencies
50
+
10
51
  ## [2.2.0] 2022-07-26
11
52
 
12
53
  ### Added
@@ -17,7 +58,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
17
58
 
18
59
  ## [2.1.1] 2022-04-14
19
60
 
20
- ### FIXED
61
+ ### Fixed
21
62
  - Author list in setup.cfg cannot be multiline
22
63
 
23
64
  ## [2.1.0] 2022-04-13
@@ -88,5 +129,6 @@ Started to use the program at our test stands. Lots of cleanup and improvements
88
129
  - Clean up examples
89
130
 
90
131
  ## [0.0.2] 2020-07-08
132
+
91
133
  ### Added
92
134
  - first release on pypi
@@ -27,12 +27,15 @@ structures.
27
27
 
28
28
  #### Hardware-Control Widgets
29
29
 
30
- Hardware-Control defines a set of modified widgets to simplify building instrument
31
- interfaces. Examples of such widgets include the `HCPushButton` and `HCLineEdit`,
32
- which extend the standard Qt classes by connecting them to driver command/parameters
33
- names, and automatically registering them within the main app. We recommend using these
34
- widgets (rather than QtWidget objects) since they are pre-configured for reading/setting
35
- instrument parameters and conveying instrument commands.
30
+ Hardware-Control defines a set of modified widgets to simplify
31
+ building instrument interfaces. Examples of such widgets include the
32
+ `HCPushButton` and `HCLineEdit`, which extend the standard Qt classes
33
+ by connecting them to driver command/parameters names, and
34
+ automatically registering them within the main app. We recommend using
35
+ these widgets (rather than QtWidget objects) since they are
36
+ pre-configured for reading/setting instrument parameters and conveying
37
+ instrument commands. They will also add the instrument/parameter to
38
+ the list of variables that will get automatically pulled by the app.
36
39
 
37
40
  ### 3. Getting Help
38
41
 
@@ -4,7 +4,7 @@ Welcome to Hardware-control's documentation!
4
4
  Hardware-control is a Python package designed to simplify creating
5
5
  instrument control programs (for example for power supplies,
6
6
  oscilloscopes, etc.). By using reusable front ends (widgets) and
7
- instrument drivers hardware-control tries to minimize the
7
+ instrument drivers. Hardware-control tries to minimize the
8
8
  effort and code required to communicate with instruments in the lab.
9
9
 
10
10
  Hardware-control uses a few basic constructs to organize its
@@ -1,7 +1,7 @@
1
1
  Installation
2
2
  ============
3
3
 
4
- Hardware control requires python ≥ 3.6.
4
+ Hardware control requires python ≥ 3.7.
5
5
 
6
6
  The code is available on `PyPi
7
7
  <https://pypi.org/project/hardware-control>`_ and therefore can be
@@ -26,9 +26,11 @@ drivers for the NI-DAQ modules and picoscopes.
26
26
  instruments/alicat
27
27
  instruments/caen
28
28
  instruments/keysight
29
+ instruments/lakeshore
29
30
  instruments/ni
30
31
  instruments/picotech
31
32
  instruments/rigol
32
33
  instruments/siglent
33
34
  instruments/srs
34
35
  instruments/tdkl
36
+ instruments/trinity_power
@@ -0,0 +1,27 @@
1
+ Lake Shore
2
+ ==========
3
+
4
+ hardware_control.instruments.lakeshore.LakeshoreBase module
5
+ -----------------------------------------------------------
6
+
7
+ .. automodule:: hardware_control.instruments.lakeshore.LakeshoreBase
8
+ :members:
9
+ :undoc-members:
10
+ :show-inheritance:
11
+
12
+ hardware_control.instruments.lakeshore.Lakeshore224 module
13
+ ----------------------------------------------------------
14
+
15
+ .. automodule:: hardware_control.instruments.lakeshore.Lakeshore224
16
+ :members:
17
+ :undoc-members:
18
+ :show-inheritance:
19
+
20
+ hardware_control.instruments.lakeshore.Lakeshore372 module
21
+ ----------------------------------------------------------
22
+
23
+ .. automodule:: hardware_control.instruments.lakeshore.Lakeshore372
24
+ :members:
25
+ :undoc-members:
26
+ :show-inheritance:
27
+
@@ -0,0 +1,10 @@
1
+ Picotech
2
+ ========
3
+
4
+ hardware_control.instruments.picotech.Picoscope module
5
+ ------------------------------------------------------
6
+
7
+ .. automodule:: hardware_control.instruments.picotech.Picoscope
8
+ :members:
9
+ :undoc-members:
10
+ :show-inheritance:
@@ -0,0 +1,11 @@
1
+ Trinity Power
2
+ =============
3
+
4
+ hardware_control.instruments.trinity_power.tpi module
5
+ -----------------------------------------------------
6
+
7
+ .. automodule:: hardware_control.instruments.trinity_power.TPI
8
+ :members:
9
+ :undoc-members:
10
+ :show-inheritance:
11
+
@@ -5,11 +5,11 @@ Plans for the future include (but are not limited to):
5
5
  - Adding more instrument drivers
6
6
  - Expanding the instrument drivers we have to implement more parameters/commands
7
7
  - Modifying the auto-update functionality of the main app to be more flexible, e.g. custom timeout for each instrument
8
- - Looking into using binary ZMQ messages and sending for example numpy arrays over ZMQ instead of strings
8
+ - Looking into using binary ZMQ messages and sending for example numpy arrays over ZMQ instead of strings (e.g., using msgpack)
9
9
  - Create a custom widget that shows all logging messages and lets you filter them on the fly (by loglevel and instrument driver, etc.)
10
10
  - Code improvement:
11
11
  - adding more type hints
12
12
  - adding more tests (e.g. figuring out how to test Qt apps)
13
- - improving the code base (running linters such as pylint)
14
- - update to Qt6
13
+ - improving the code base (running linters such as pylint, ruff)
15
14
  - replace some logging instances with raising an exception where appropiate (currently we only use logger.error)
15
+ - in the instrument drivers switch from commands (no argument) and parameters (one argument) to something that can handle multiple arguments
@@ -70,6 +70,9 @@ provide a pull request.
70
70
  * - `Lake Shore Model 224 <https://www.lakeshore.com/products/categories/overview/temperature-products/cryogenic-temperature-monitors/model-224-temperature-monitor>`_
71
71
  - .. image:: /images/Lake_Shore_224.png
72
72
  :height: 100
73
+ * - `Lake Shore Model 372 <https://www.lakeshore.com/products/categories/overview/temperature-products/ac-resistance-bridges/model-372-ac-resistance-bridge-temperature-controller>`_
74
+ - .. image:: /images/Lake_Shore_372.png
75
+ :height: 100
73
76
 
74
77
 
75
78
  - Ion Gauge:
@@ -108,6 +111,9 @@ provide a pull request.
108
111
  * - `Siglent SDG Series <https://www.siglent.eu/waveform-generators>`_ (LAN)
109
112
  - .. image:: /images/SDG1000X.png
110
113
  :height: 100
114
+ * - `Trinity Power TPI <https://rf-consultant.com/products/tpi-1001-b-signal-generator/>`_ (USB)
115
+ - .. image:: /images/TPI.jpg
116
+ :height: 100
111
117
 
112
118
 
113
119
  - IOModule:
@@ -114,7 +114,7 @@ To run your program, just call `sys.exit(app.exec_())`!
114
114
  A complete sample program could look like this:
115
115
 
116
116
  # Import required modules
117
- from PyQt5.QtWidgets import QGridLayout, QWidget
117
+ from PyQt6.QtWidgets import QGridLayout, QWidget
118
118
  import sys
119
119
 
120
120
  import hardware_control as hc
@@ -19,7 +19,7 @@ import sys
19
19
 
20
20
  from docopt import docopt
21
21
 
22
- from PyQt5.QtWidgets import QWidget, QGridLayout
22
+ from PyQt6.QtWidgets import QWidget, QGridLayout
23
23
 
24
24
  import hardware_control as hc
25
25
 
@@ -16,7 +16,7 @@ Options:
16
16
  import logging
17
17
  import sys
18
18
 
19
- from PyQt5.QtWidgets import QWidget, QGridLayout
19
+ from PyQt6.QtWidgets import QWidget, QGridLayout
20
20
  from docopt import docopt
21
21
 
22
22
  import hardware_control as hc
@@ -19,7 +19,7 @@ import sys
19
19
 
20
20
  from docopt import docopt
21
21
 
22
- from PyQt5.QtWidgets import QGridLayout, QTabWidget
22
+ from PyQt6.QtWidgets import QGridLayout, QTabWidget
23
23
 
24
24
  import hardware_control as hc
25
25
 
@@ -17,7 +17,7 @@ Options:
17
17
  import logging
18
18
  import sys
19
19
 
20
- from PyQt5.QtWidgets import QMainWindow, QWidget, QGridLayout
20
+ from PyQt6.QtWidgets import QMainWindow, QWidget, QGridLayout
21
21
  from docopt import docopt
22
22
 
23
23
  import hardware_control as hc
@@ -17,7 +17,7 @@ Options:
17
17
  import logging
18
18
  import sys
19
19
 
20
- from PyQt5.QtWidgets import QMainWindow, QWidget, QGridLayout
20
+ from PyQt6.QtWidgets import QMainWindow, QWidget, QGridLayout
21
21
  from docopt import docopt
22
22
 
23
23
  import hardware_control as hc
@@ -16,7 +16,7 @@ Options:
16
16
  import logging
17
17
  import sys
18
18
 
19
- from PyQt5.QtWidgets import QWidget, QGridLayout
19
+ from PyQt6.QtWidgets import QWidget, QGridLayout
20
20
  from docopt import docopt
21
21
  from pathlib import Path
22
22
 
@@ -20,8 +20,8 @@ import sys
20
20
 
21
21
  from docopt import docopt
22
22
 
23
- from PyQt5.QtWidgets import QWidget, QGridLayout
24
- from PyQt5.QtGui import QDoubleValidator
23
+ from PyQt6.QtWidgets import QWidget, QGridLayout
24
+ from PyQt6.QtGui import QDoubleValidator
25
25
 
26
26
  import hardware_control as hc
27
27
 
@@ -0,0 +1,63 @@
1
+ #!/usr/bin/env python3
2
+ """Microwave-Controller demo
3
+
4
+ Usage:
5
+ MicrowaveController_demo.py [--conn_addr=CONN_ADD] [--dummy] [--debug] [--console] [--info]
6
+
7
+ Options:
8
+ --conn_addr=CONN_ADD Connection address of physical instrument [default: None].
9
+ Required if not in dummy mode.
10
+ --dummy Use dummy connection for instruments that return semi-random data
11
+ so that one can run the program away from the test stand.
12
+ --debug Allow debug print statements.
13
+ --info Allow info print statements.
14
+ --console Print logger output to console.
15
+ """
16
+
17
+ import logging
18
+ import sys
19
+
20
+ from docopt import docopt
21
+
22
+ from PyQt6.QtWidgets import QGridLayout, QTabWidget
23
+
24
+ import hardware_control as hc
25
+
26
+ commands = docopt(__doc__)
27
+ dummy = commands["--dummy"]
28
+ conn_addr = commands["--conn_addr"]
29
+
30
+ logger = logging.getLogger(__name__)
31
+ hc.setup_logging_docopt(logger, commands)
32
+
33
+
34
+ class Demo(hc.HCMainWindow):
35
+ def __init__(self, dummy):
36
+ super().__init__(dummy=dummy)
37
+
38
+ self.setWindowTitle("Microwave Controller Demo")
39
+
40
+ # This is the main widget (a widget with tabs), actual device widgets are added to it
41
+ self.tabs = QTabWidget()
42
+
43
+ # Create an flow controller Alicat_M_Series instrument backend and add it to the app
44
+ self.app.add_instrument(hc.instruments.TPI.TPI("MW", conn_addr))
45
+
46
+ # Create a FlowController GUI control that connects to the instrument backend
47
+ self.instr_ctrl = hc.gui.MicrowaveController(
48
+ self.app, "MW", "Mirowave Controller"
49
+ )
50
+
51
+ # Create an interactive ipython console
52
+ self.ipython = hc.gui.Qtconsole(self.app)
53
+
54
+ # Create tabs for the flow controller control and the ipython console, respectively
55
+ self.tabs.addTab(self.instr_ctrl, "Instruments")
56
+ self.tabs.addTab(self.ipython, "Interactive")
57
+
58
+ self.setCentralWidget(self.tabs)
59
+ self.show()
60
+
61
+
62
+ main_window = Demo(dummy=dummy)
63
+ sys.exit(main_window.app.exec_())
@@ -16,7 +16,7 @@ Options:
16
16
  import logging
17
17
  import sys
18
18
 
19
- from PyQt5.QtWidgets import QWidget, QGridLayout
19
+ from PyQt6.QtWidgets import QWidget, QGridLayout
20
20
  from docopt import docopt
21
21
 
22
22
  import hardware_control.instruments as hc_inst
@@ -16,7 +16,7 @@ Options:
16
16
  import logging
17
17
  import sys
18
18
 
19
- from PyQt5.QtWidgets import QWidget, QGridLayout
19
+ from PyQt6.QtWidgets import QWidget, QGridLayout
20
20
  from docopt import docopt
21
21
 
22
22
  import hardware_control.instruments as hc_inst
@@ -14,7 +14,7 @@ Options:
14
14
  import logging
15
15
  import sys
16
16
 
17
- from PyQt5.QtWidgets import QWidget, QGridLayout
17
+ from PyQt6.QtWidgets import QWidget, QGridLayout
18
18
  from docopt import docopt
19
19
 
20
20
  import hardware_control.instruments as hc_inst
@@ -16,7 +16,7 @@ Options:
16
16
  import logging
17
17
  import sys
18
18
 
19
- from PyQt5.QtWidgets import QMainWindow, QWidget, QGridLayout
19
+ from PyQt6.QtWidgets import QMainWindow, QWidget, QGridLayout
20
20
  from docopt import docopt
21
21
 
22
22
  import hardware_control as hc
@@ -19,7 +19,7 @@ import sys
19
19
 
20
20
  from docopt import docopt
21
21
 
22
- from PyQt5.QtWidgets import QWidget, QGridLayout
22
+ from PyQt6.QtWidgets import QWidget, QGridLayout
23
23
 
24
24
  import hardware_control as hc
25
25
 
@@ -19,7 +19,7 @@ import sys
19
19
 
20
20
  from docopt import docopt
21
21
 
22
- from PyQt5.QtWidgets import QWidget, QGridLayout
22
+ from PyQt6.QtWidgets import QWidget, QGridLayout
23
23
 
24
24
  import hardware_control as hc
25
25
 
@@ -16,7 +16,7 @@ Options:
16
16
  import logging
17
17
  import sys
18
18
 
19
- from PyQt5.QtWidgets import QMainWindow, QWidget, QGridLayout
19
+ from PyQt6.QtWidgets import QMainWindow, QWidget, QGridLayout
20
20
  from docopt import docopt
21
21
 
22
22
  import hardware_control as hc
@@ -16,7 +16,7 @@ import sys
16
16
 
17
17
  from docopt import docopt
18
18
 
19
- from PyQt5.QtWidgets import QGridLayout, QTabWidget
19
+ from PyQt6.QtWidgets import QGridLayout, QTabWidget
20
20
 
21
21
  import hardware_control as hc
22
22
 
@@ -16,7 +16,7 @@ import sys
16
16
 
17
17
  from docopt import docopt
18
18
 
19
- from PyQt5.QtWidgets import QGridLayout, QVBoxLayout, QWidget
19
+ from PyQt6.QtWidgets import QGridLayout, QVBoxLayout, QWidget
20
20
 
21
21
  import hardware_control as hc
22
22
 
@@ -16,7 +16,7 @@ import sys
16
16
 
17
17
  from docopt import docopt
18
18
 
19
- from PyQt5.QtWidgets import QGridLayout, QTabWidget
19
+ from PyQt6.QtWidgets import QGridLayout, QTabWidget
20
20
 
21
21
  import hardware_control as hc
22
22
 
@@ -17,7 +17,7 @@ import sys
17
17
 
18
18
  from docopt import docopt
19
19
 
20
- from PyQt5.QtWidgets import QTabWidget
20
+ from PyQt6.QtWidgets import QTabWidget
21
21
 
22
22
  import hardware_control as hc
23
23
 
@@ -19,7 +19,7 @@ import random
19
19
 
20
20
  from docopt import docopt
21
21
 
22
- from PyQt5.QtWidgets import QWidget, QGridLayout
22
+ from PyQt6.QtWidgets import QWidget, QGridLayout
23
23
 
24
24
  import hardware_control as hc
25
25
 
@@ -0,0 +1,4 @@
1
+ # file generated by setuptools_scm
2
+ # don't change, don't track in version control
3
+ __version__ = version = '3.0.1'
4
+ __version_tuple__ = version_tuple = (3, 0, 1)
@@ -7,8 +7,8 @@ import time
7
7
  from typing import Union, Optional, Callable, Any, List
8
8
  from datetime import datetime
9
9
 
10
- from PyQt5.QtWidgets import QApplication
11
- from PyQt5.QtCore import QTimer
10
+ from PyQt6.QtWidgets import QApplication
11
+ from PyQt6.QtCore import QTimer
12
12
  import zmq
13
13
 
14
14
  from .Dataset import Dataset