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
pyftdiwithlibusb(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-controlsin terminal (orpython3 main.py). Use option--no-guifor run console apps. Use options--debugfor 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 хранится информация об источниках различных серий, источник должен сообщать свою серию, и оттуда буду браться данные.