Skip to main content

IVM

This is a python binding for IVM cross-platform library for EyePoint Signature Analyzers.

IVM

Installation

python -m pip install --upgrade pip
python -m pip install ivm

python3 instead of python should be used on some linux distributions.

Minimal example

from ivm import IvmDeviceHandle
from math import ceil
import time

# Useful constants
MEASUREMENT_COMPLETE = IvmDeviceHandle.CheckMeasurementStatusResponse.ReadyStatus.MEASUREMENT_COMPLETE
FRAME_SIZE = IvmDeviceHandle.GetMeasurementRequest.FrameNumber.FRAME_SIZE

# Set correct device URI here
# Format for Windows: com:\\.\COM1
# Format for Linux: com:///dev/ttyACM0
# Format for MacOS: com:///dev/tty.usbmodem000001234
device_uri = r'com:\\.\COM4'

try:
    device = IvmDeviceHandle(device_uri)
    print("Device opened")
    print("Read device information... ", end="")
    device_info = device.get_identity_information()
    print("Done")
except RuntimeError:
    print("Cannot open device {}.".format(device_uri))
    print("Please check URI and try again.")
    exit()

print("  -- Device information --")
print("  Product: {} {}".format(
    bytes(device_info.manufacturer).decode("utf-8"),
    bytes(device_info.product_name).decode("utf-8")
))
print("  Hardware version: {}.{}.{}".format(
    device_info.hardware_major,
    device_info.hardware_minor,
    device_info.hardware_bugfix
))
print("  Serial number: {}".format(device_info.serial_number))
print("  Firmware version: {}.{}.{}".format(
    device_info.firmware_major,
    device_info.firmware_minor,
    device_info.firmware_bugfix
))

# Launch single measurement in non-blocking mode
print("Measuring IV-curve... ", end="")
device.start_measurement()
# Wait for measurement to finish
while device.check_measurement_status().ready_status != MEASUREMENT_COMPLETE:
    time.sleep(0.05)
print("Done")

# Number of points in a single curve measurement
number_of_points = device.get_measurement_settings().number_points
print("Number of points in a single curve measurement: {}".format(number_of_points))

# Get all measurement results
currents = []
voltages = []
# Measurements are stored in frames of size FRAME_SIZE
number_of_frames = ceil(number_of_points/FRAME_SIZE)
for frame_index in range(number_of_frames):
    currents += list(device.get_measurement(frame_index).current)
    voltages += list(device.get_measurement(frame_index).voltage)

print("List of measured currents (in mA):")
print(*("{:.4f}".format(k) for k in currents), sep=", ")

print("List of measured voltages (in V):")
print(*("{:.4f}".format(k) for k in voltages), sep=", ")

# Close the device
device.close_device()
print("Device closed")

More information

For documentation, software, examples of using the API and bindings for Python and C#, you can visit the Eyepoint website:

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ivm-1.1.2.tar.gz (3.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ivm-1.1.2-py3-none-any.whl (3.3 MB view details)

Uploaded Python 3

File details

Details for the file ivm-1.1.2.tar.gz.

File metadata

  • Download URL: ivm-1.1.2.tar.gz
  • Upload date:
  • Size: 3.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.7

File hashes

Hashes for ivm-1.1.2.tar.gz
Algorithm Hash digest
SHA256 50898d307afe78d76b8773740223b8ec8c63c1c2937afb28b2fccc8afa185dd5
MD5 c9de5b9571120b6978db6c2985c12d4b
BLAKE2b-256 b08f1f05ba4530a416cf61a41d3e6939b86392ad7aab1cdb81da129de2da71c7

See more details on using hashes here.

File details

Details for the file ivm-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: ivm-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.7

File hashes

Hashes for ivm-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2929d2ad7e45e1e4f6e052d640a03cf5d71b0267d8a54bd2effdf5cf857c53d5
MD5 4cd152ba64ff1aa8b287a9312f62e009
BLAKE2b-256 ecb4a0854c2dc36b0725828771fcb43341d77fa5e63bcaf79d268e95d734ecee

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.1.2 This release

2 files

1.1.1

3 files

1.0.2

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page