]> sigrok.org Git - sigrok-meter.git/commitdiff
Don't plot values that confuse the graph widget.
authorJens Steinhauser <redacted>
Mon, 5 Oct 2015 11:01:13 +0000 (13:01 +0200)
committerJens Steinhauser <redacted>
Mon, 5 Oct 2015 11:01:13 +0000 (13:01 +0200)
datamodel.py

index 5ad084cc1001d60667d44f243b9debeefa58a0c4..2914fc37a8ba2d82a5bda4a98e37e29359bb1dfa 100644 (file)
@@ -20,6 +20,7 @@
 
 import collections
 import itertools
+import math
 import qtcompat
 import sigrok.core as sr
 import util
@@ -65,9 +66,6 @@ class MeasurementDataModel(QtGui.QStandardItemModel):
         # idRole holds tuples, and using them to sort doesn't work.
         self.setSortRole(MeasurementDataModel.descRole)
 
-        # Used in 'format_value()' to check against.
-        self.inf = float('inf')
-
         # A generator for the colors of the channels.
         self._colorgen = self._make_colorgen()
 
@@ -103,7 +101,7 @@ class MeasurementDataModel(QtGui.QStandardItemModel):
             return ''
 
     def format_value(self, mag):
-        if mag == self.inf:
+        if math.isinf(mag):
             return u'\u221E'
         return '{:f}'.format(mag)
 
@@ -160,9 +158,10 @@ class MeasurementDataModel(QtGui.QStandardItemModel):
 
         # The samples role is a dictionary that contains the old samples for each unit.
         # Should be trimmed periodically, otherwise it grows larger and larger.
-        sample = (timestamp, value)
-        traces = item.data(MeasurementDataModel.tracesRole)
-        traces[unit].append(sample)
+        if not math.isinf(value) and not math.isnan(value):
+            sample = (timestamp, value)
+            traces = item.data(MeasurementDataModel.tracesRole)
+            traces[unit].append(sample)
 
 class MultimeterDelegate(QtGui.QStyledItemDelegate):
     '''Delegate to show the data items from a MeasurementDataModel.'''