X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=sigrok-meter;h=4c74e7323ee77743e207f5eb30481c7a3fd9631e;hb=efdef4fa65383cb6642ba3220710ea821db0540d;hp=28ad0e1a7cf6499dbecdb476fd3333646e2302d3;hpb=97f3176ec7997c6e46b5cf4e126d63b0ce6b38db;p=sigrok-meter.git diff --git a/sigrok-meter b/sigrok-meter index 28ad0e1..4c74e73 100755 --- a/sigrok-meter +++ b/sigrok-meter @@ -1,4 +1,5 @@ -#!/usr/bin/python3 +#!/usr/bin/env python + ## ## This file is part of the sigrok-meter project. ## @@ -21,41 +22,42 @@ from multiprocessing import Process, Queue from gi.repository import Gtk, GObject -from sigrok.core import * +import sigrok.core as sr def init_and_run(queue): def datafeed_in(device, packet): - if packet.type is PacketType.ANALOG: + if packet.type == sr.PacketType.ANALOG: data = packet.payload.data unit, unit_str = packet.payload.unit, "" - if unit is Unit.VOLT: + if unit == sr.Unit.VOLT: unit_str = " V" - elif unit is Unit.OHM: + elif unit == sr.Unit.OHM: unit_str = " Ohm" - elif unit is unit.AMPERE: + elif unit == sr.Unit.AMPERE: unit_str = " A" - mqflags, mqflags_str = packet.payload.mqflags, "" - if QuantityFlag.AC in mqflags: + mqflags, mqflags_str = packet.payload.mq_flags, "" + if sr.QuantityFlag.AC in mqflags: mqflags_str = " AC" - elif QuantityFlag.DC in mqflags: + elif sr.QuantityFlag.DC in mqflags: mqflags_str = " DC" for i in range(packet.payload.num_samples): - dev = "%s" % device.vendor - val = "%f%s%s" % (data[i], unit_str, mqflags_str) + dev = "%s %s" % (device.vendor, device.model) + val = "%f%s%s" % (data[0][i], unit_str, mqflags_str) queue.put((dev, val)) - # log = Log() - # log.level = LogLevel.SPEW - context = Context() - drivers_to_use = ['voltcraft-vc820', 'victor-dmm'] + context = sr.Context_create() + context.log_level = sr.LogLevel.SPEW + drivers_to_use = ['tecpel-dmm-8061-ser'] drivers = [context.drivers[d] for d in drivers_to_use] - devices = [d.scan()[0] for d in drivers] - for dev in devices: - dev.limit_samples = 1000 - session = Session(context) + devices = [d.scan(conn="/dev/ttyUSB0")[0] for d in drivers] + # devices = [d.scan()[0] for d in drivers] + # for dev in devices: + # dev.limit_samples = 1000 + session = context.create_session() for dev in devices: session.add_device(dev) - session.add_callback(datafeed_in) + dev.open() + session.add_datafeed_callback(datafeed_in) session.start() session.run() session.stop() @@ -86,17 +88,18 @@ class SigrokMeter: def on_about(self, action): about = self.builder.get_object("aboutdialog") - sr_pkg = ll.sr_package_version_string_get() - sr_lib = ll.sr_lib_version_string_get() + context = sr.Context_create() + sr_pkg = context.package_version + sr_lib = context.lib_version s = "Using libsigrok %s (lib version %s)." % (sr_pkg, sr_lib) about.set_comments(s) about.run() about.hide() if __name__ == '__main__': - s = SigrokMeter() - process = Process(target=init_and_run, args=(s.queue,)) - process.start() - Gtk.main() - process.terminate() + s = SigrokMeter() + process = Process(target=init_and_run, args=(s.queue,)) + process.start() + Gtk.main() + process.terminate()