diff --git a/software/device.py b/software/device.py
index 0642917..3544fca 100644
--- a/software/device.py
+++ b/software/device.py
@@ -87,10 +87,12 @@ class Device:
def read(self):
if self.fake:
from random import randint
- return (randint(0,1023), # AD0
- randint(0,1023), randint(0,1023), randint(0,1023), # AD1 .. AD3
- randint(0,1023), randint(0,1023), randint(0,1023), # AD4 .. AD6
- randint(0,1), randint(0,1), randint(0,1)) # IO1 .. IO3
+ from time import time
+ from math import sin
+ return (randint(0,1023), # AD0
+ int(sin(time())*511+512), randint(0,1023), randint(0,1023), # AD1 .. AD3
+ randint(0,1023), randint(0,1023), randint(0,1023), # AD4 .. AD6
+ randint(0,1), randint(0,1), randint(0,1)) # IO1 .. IO3
else:
i = self.epi.read(self.INSIZE)
return (i[0] + (i[1]<<8), # AD0
diff --git a/software/modules/ModuleA.py b/software/modules/ModuleA.py
index 8c6c599..acb7094 100644
--- a/software/modules/ModuleA.py
+++ b/software/modules/ModuleA.py
@@ -1,4 +1,8 @@
from PyQt4.QtGui import QWidget
+from PyQt4.QtGui import QGraphicsScene
+from PyQt4.QtGui import QPainterPath
+from PyQt4.QtGui import QPen
+from PyQt4.QtGui import QColor
from PyQt4.QtCore import pyqtSlot
from PyQt4.QtCore import SIGNAL
from PyQt4.QtCore import QObject
@@ -16,11 +20,46 @@ class ModuleAWidget(QWidget):
self.timer = QTimer()
QObject.connect(self.timer, SIGNAL("timeout()"), self.read_inputs)
+ self.scene = QGraphicsScene()
+ self.ui.graphU.setScene(self.scene)
+
+ self.data = 100*[0.0]
+
def read_inputs(self):
r = self.dev.read()
- v = r[1]/1023.0 * 3.3
- self.ui.labelV.setText('%0.3f V' % v)
- self.ui.progressV.setValue(1000*v)
+ u = r[1]/1023.0 * 3.3
+ self.ui.labelU.setText('%0.3f V' % u)
+ self.ui.progressU.setValue(1000*u)
+ self.data.pop(0)
+ self.data.append(u)
+
+ self.scene = QGraphicsScene()
+ self.scene.addLine(-10, 400-0, 610, 400-0)
+ self.scene.addLine(0, 400+10, 0, 400-410)
+ self.scene.addLine(-10, 400- 50, 10, 400- 50)
+ self.scene.addLine(-10, 400-100, 10, 400-100)
+ self.scene.addLine(-10, 400-150, 10, 400-150)
+ self.scene.addLine(-10, 400-200, 10, 400-200)
+ self.scene.addLine(-10, 400-250, 10, 400-250)
+ self.scene.addLine(-10, 400-300, 10, 400-300)
+ self.scene.addLine(-10, 400-350, 10, 400-350)
+ self.scene.addLine(-10, 400-400, 10, 400-400)
+ self.scene.addSimpleText('4.0').moveBy(-40, 0-10)
+ self.scene.addSimpleText('3.5').moveBy(-40, 50-10)
+ self.scene.addSimpleText('3.0').moveBy(-40, 100-10)
+ self.scene.addSimpleText('2.5').moveBy(-40, 150-10)
+ self.scene.addSimpleText('2.0').moveBy(-40, 200-10)
+ self.scene.addSimpleText('1.5').moveBy(-40, 250-10)
+ self.scene.addSimpleText('1.0').moveBy(-40, 300-10)
+ self.scene.addSimpleText('0.5').moveBy(-40, 350-10)
+ self.scene.addSimpleText('0.0').moveBy(-40, 400-10)
+ self.scene.addSimpleText('[U]').moveBy(-39, 430-10)
+ path = QPainterPath()
+ path.moveTo(0,400-self.data[0]*100)
+ for i in xrange(1,100):
+ path.lineTo(6*(i+1), 400-self.data[i]*100)
+ self.scene.addPath(path, QPen(QColor(0,0,255), 3))
+ self.ui.graphU.setScene(self.scene)
class ModuleA():
diff --git a/software/modules/ModuleA.ui b/software/modules/ModuleA.ui
index c7be4f6..2995ab5 100644
--- a/software/modules/ModuleA.ui
+++ b/software/modules/ModuleA.ui
@@ -13,23 +13,23 @@
Form
-
+
80
10
- 691
- 481
+ 701
+ 511
-
+
10
- 10
+ 49
61
- 481
+ 401
@@ -45,13 +45,13 @@
Qt::Vertical
-
+
10
- 500
+ 460
61
- 21
+ 61