mipt-npm-hv-controls

Simple GUI for HV controls


Keywords
hv
License
MIT
Install
pip install mipt-npm-hv-controls==0.2.2

Documentation

hv-controls

Simple GUI for HV source controls.

Can be used for Mantigora devices.

Tested on Ubuntu 21.10 with HT-60-30-P. Proposal correct work on all platform for HT-60-*, HT-15-*, HT2000, HV2000, HV6000.

Installation

  1. Install USB/FTDI drivers. Application can be used different drivers for Linux and Windows. For Linux/Windows can be used pyftdi with libusb (On Debian/Ubuntu use sudo apt-get install libusb-1.0). For Windows can be used FTD2XX (Not implemented).
  2. Configure our system what would to allow using drivers from user-space. For linux see here or run application with sudo.
  3. Install application:
    • For installation from PyPI run pip install mipt-npm-hv-controls
    • For installation from source, move application source directory and run pip install -e . (Also you can install dependencies manually pip install pyqt5 pyftdi matplotlib Jinja2)
  4. Run hv-controls in terminal (or python3 main.py). Use option --no-gui for run console apps. Use options --debug for getting debug information in log.

For developers

Devices parameters

Devices parameters located in hv/device_data and based on file Unit1.pas, inforamtion from vendor and specification of protocol.

Parameters of next devices isn't consistent:

  • HT-15-10-P and HT-15-10-N: max current 3000 mcA or 750 mcA?
  • HT-6-... absent current step.
  • HT4000, HT6000, HR... absent codemax ADC and DAC.

Code overview

Π€Π°ΠΉΠ» hv_device.py содСрТит класс HVDevice, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΡ‚ консольного ΠΈΠ»ΠΈ графичСского интСрфСйса ΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡ… Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ². Π€Π°ΠΉΠ»Ρ‹ ftdi_device.py ΠΈ ftd2xx_device.py ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ классы-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ Π½Π°Π΄ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ STDI ΠΈ STD2XX (для Π½Π΅Π³ΠΎ ΠΏΠΎΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Π³Π»ΡƒΡˆΠΊΠ°).

Π€Π°ΠΉΠ» cmd_ui.py прСдоставляСт ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ интСрфСйс для управлСния ΠΏΡ€ΠΈΠ±ΠΎΡ€ΠΎΠΌ, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅. ДирСктория hv/ui прСдоставляСт графичСский интСрфСйс для управлСния ΠΏΡ€ΠΈΠ±ΠΎΡ€ΠΎΠΌ. Π€Π°ΠΉΠ» run.py содСрТит Ρ‚ΠΎΡ‡ΠΊΠΈ Π²Ρ…ΠΎΠ΄Π°, для запуска ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… pip ΡƒΠΌΠ΅Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ shell ΠΈ bat скрипты. Π€Π°ΠΉΠ» main.py позволяСт Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΈ графичСский интСрфСйс

Π’ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ hv/device_data хранится информация ΠΎΠ± источниках Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сСрий, источник Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒ свою ΡΠ΅Ρ€ΠΈΡŽ, ΠΈ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° Π±ΡƒΠ΄Ρƒ Π±Ρ€Π°Ρ‚ΡŒΡΡ Π΄Π°Π½Π½Ρ‹Π΅.