Handyscope provides a Python interface to the mobile USB-oscilloscopes made by TiePie.
Project description
Handyscope provides a Python interface to the mobile USB-oscilloscopes made by TiePie.
This package is inspired by python-libtiepie and acts as an alternative. The main differences are the following:
python-libtiepie has some constants defined, which can be used to set properties like signal type. However, the user needs to know the names of these constants and they cannot be printed due to actually being numerical (binary) values. In handyscope, the values are given as strings and an overview of the available strings is provided in an additional property.
The error check is performed automatically after every method call.
More easier way of opening of devices.
Example of setting and getting the signal type in python-libtiepie:
# Set the signal type to triangle
gen.signal_type = libtiepie.ST_TRIANGLE
# Prints 0x00000010
print(gen.signal_type)
Example of setting and getting the signal type in handyscope:
# Prints the tuple ('sine', 'triangle', 'square', 'DC', 'noise', 'arbitrary', 'pulse')
print(gen.signal_types_available)
# Set the signal type to triangle
gen.signal_type = "triangle"
# Prints "triangle"
print(gen.signal_type)
Example of opening a generator device from python-libtiepie:
import libtiepie
# Search for devices:
libtiepie.device_list.update()
# Try to open a generator:
gen = None
for item in libtiepie.device_list:
if item.can_open(libtiepie.DEVICETYPE_GENERATOR):
gen = item.open_generator()
if gen:
break
Example of opening a generator device using handyscope:
from handyscope import Generator
gen = Generator("HS5")
Features
Uses libtiepie
Provides access to oscilloscope, signal generator and I2C interface features
Works with Windows and Linux
SDK version
This package uses LibTiePie SDK 0.9.16 and does not support the newer libtiepie-hw. In libtiepie-hw, support for I2C was removed (see migration guide), which is why handyscope won’t be migrated for now.
Installation
To install the Handyscope Interface, run this command in your terminal:
$ pip install handyscope
Note that usage in Windows will require the TiePie USB driver version 8.1.9. If you are also using TiePie’s MultiChannelSoftware, please install version 1.44.1 from their download archive, as this is the latest version working with driver 8.1.9. The library files for Windows (32 & 64-bit) and Linux (x86-64/amd64) are included in handyscope, there’s no need for additional installations. For other Linux architectures, please follow TiePie’s library installation instructions.
Usage
Example for using an oscilloscope device:
from handyscope import Oscilloscope
# To initialize as HS3 oscilloscope device
osc = Oscilloscope("HS3")
# Set the range of the channels to 4 Volts
osc.channels[0].range = 4
osc.channels[1].range = 4
# Set the trigger kind to rising edge
osc.channels[0].trig_kind = "rising"
# Enable the trigger
osc.channels[0].trig_enabled= True
# Disable the trigger timeout
osc.trig_timeout = -1
# Set record length and sampling frequency
osc.record_length = 62500
osc.sample_freq = 100000
# Start measuring and get the data
data = osc.measure()
Example for using a generator device:
from handyscope import Generator
# To initialize as HS3 generator device
gen = Generator("HS3")
# Set the signal type to a sinus wave
gen.signal_type = "sine"
# Set the amplitude to 2 Volts
gen.amplitude = 2
# Set the frequency to 100 Hz
gen.freq = 100
# Enable the output
gen.is_out_on = True
# Start the generator
gen.start()
Documentation
The documentation for handyscope can be built with:
$ sphinx-build -M html docs build
Open build/html/index.html with your preferred browser to read the generated documentation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file handyscope-1.2.0.tar.gz
.
File metadata
- Download URL: handyscope-1.2.0.tar.gz
- Upload date:
- Size: 4.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bfc626609db49e8aa26fdd8a6ba534be55190de239aa4b9840e1a41ab6e640a3 |
|
MD5 | 67243586fd45e01218c63e214ad4c70a |
|
BLAKE2b-256 | 2b0383983e8869d1866ea0e788acfe5795d1c6dacb5fe57dca8bf07d3ed181e7 |