BMecke / hantekosc

Python interface with integrated software trigger for controlling USB oscilloscopes from Hantek.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

hantekosc

Hantekosc provides a Python interface to control the mobile USB-oscilloscopes made by Hantek. It is based on library "Hantek6022API" (https://github.com/Ho-Ro/Hantek6022API).

This is primarily extended by a software trigger.

Furthermore, settings like recording length, sample rate, presample ratio or trigger mode can now be set in a simple way

Example for initializing an oscilloscope device:

from hantekosc import oscilloscope

osc = oscilloscope.Oscilloscope()
osc.channels[0].voltage_range = 5
osc.channels[1].voltage_range = 5
osc.trigger_mode = 'REPEAT'
osc.sample_rate = 1 * 1e6
osc.record_length = 2000
osc.pre_sample_ratio = 0.2
osc.selected_channel = 0
osc.channels[0].trigger_kind = 'FALLING'
osc.channels[0].trigger_level = 0.5

osc.start()

Example of retrieving data from the oscilloscope's channel 1 after initialization:

timing_data = osc.channels[0].measured_data[0]
voltage_data = osc.channels[0].measured_data[1]

Installation requirements

Just copy the 60-hantek6022api rules to the system's folder:

curl -fsSL https://raw.githubusercontent.com/BMecke/hantekosc/main/PyHT6022/udev/60-hantek6022api.rules | sudo tee /etc/udev/rules.d/60-hantek6022api.rules

Restart “udev” management tool:Restart “udev” management tool:

sudo service udev restart

Install hantekosc (The use of virtual environments is recommended):

pip install hantekosc

Output of example.py

Animation

About

Python interface with integrated software trigger for controlling USB oscilloscopes from Hantek.

License:GNU General Public License v3.0


Languages

Language:Assembly 34.2%Language:Python 32.9%Language:C 11.0%Language:C++ 10.1%Language:POV-Ray SDL 6.9%Language:Makefile 3.6%Language:Shell 1.3%