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.
- Install USB/FTDI drivers. Application can be used different drivers for Linux and Windows. For Linux/Windows can be used
pyftdi
withlibusb
(On Debian/Ubuntu usesudo apt-get install libusb-1.0
). For Windows can be used FTD2XX (Not implemented). - Configure our system what would to allow using drivers from user-space. For linux see here or run application with
sudo
. - 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 manuallypip install pyqt5 pyftdi matplotlib Jinja2
)
- For installation from PyPI run
- Run
hv-controls
in terminal (orpython3 main.py
). Use option--no-gui
for run console apps. Use options--debug
for getting debug information in log.
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.
Файл 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
хранится информация об источниках различных серий, источник должен сообщать свою серию, и оттуда буду браться данные.