diff --git a/software/device.py b/software/device.py index 3544fca..6754197 100644 --- a/software/device.py +++ b/software/device.py @@ -89,10 +89,10 @@ class Device: from random import randint 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 + return (randint(0,1023), # AD0 + int(sin(6.2832*time())*511+512), randint(0,1023), randint(0,1023), # AD1 .. AD3 + randint(0,1023), randint(0,1023), int(sin(314.16*time())*511+512), # 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 acb7094..8b10418 100644 --- a/software/modules/ModuleA.py +++ b/software/modules/ModuleA.py @@ -20,10 +20,7 @@ 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] + self.data = 200*[0.0] def read_inputs(self): r = self.dev.read() @@ -56,8 +53,8 @@ class ModuleAWidget(QWidget): 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) + for i in xrange(1,200): + path.lineTo(3*(i+1), 400-self.data[i]*100) self.scene.addPath(path, QPen(QColor(0,0,255), 3)) self.ui.graphU.setScene(self.scene) @@ -69,7 +66,7 @@ class ModuleA(): def start(self): self.widget.dev = Device() - self.widget.timer.start(50) + self.widget.timer.start(40) def stop(self): self.widget.timer.stop() diff --git a/software/modules/ModuleC.py b/software/modules/ModuleC.py index 27c294a..de488d1 100644 --- a/software/modules/ModuleC.py +++ b/software/modules/ModuleC.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,12 +20,80 @@ class ModuleCWidget(QWidget): self.timer = QTimer() QObject.connect(self.timer, SIGNAL("timeout()"), self.read_inputs) + self.data1 = 100*[0.0] + self.data2 = 100*[0.0] + self.data3 = 100*[0.0] + self.data4 = 100*[0.0] + + def setup_scene(self, scene): + scene.addLine(-5, 200-0, 260, 200-0) + scene.addLine(0, 200+5, 0, 200-205) + scene.addLine(-5, 200- 50, 10, 200- 50) + scene.addLine(-5, 200-100, 10, 200-100) + scene.addLine(-5, 200-150, 10, 200-150) + scene.addSimpleText('4.0').moveBy(-40, 0-10) + scene.addSimpleText('3.0').moveBy(-40, 50-10) + scene.addSimpleText('2.0').moveBy(-40, 100-10) + scene.addSimpleText('1.0').moveBy(-40, 150-10) + scene.addSimpleText('0.0').moveBy(-40, 200-10) + + def read_inputs(self): - pass -# r = self.dev.read() -# v = r[0]/1023.0 * 3.3 -# self.ui.labelV.setText('{:0.3f} V'.format(v)) -# self.ui.progressV.setValue(1000*v) + r = self.dev.read() + i = r[6]/1023.0 * 3.3 + a = r[0]/1023.0 * 3.3 + b = r[1]/1023.0 * 3.3 + c = r[2]/1023.0 * 3.3 + + self.data1.pop(0) + self.data2.pop(0) + self.data3.pop(0) + self.data4.pop(0) + self.data1.append(i) + self.data2.append(a) + self.data3.append(b) + self.data4.append(c) + self.scene1 = QGraphicsScene() + self.scene2 = QGraphicsScene() + self.scene3 = QGraphicsScene() + self.scene4 = QGraphicsScene() + self.setup_scene(self.scene1) + self.setup_scene(self.scene2) + self.setup_scene(self.scene3) + self.setup_scene(self.scene4) + + self.scene1.addSimpleText('[I]').moveBy(-39, 220-10) + path = QPainterPath() + path.moveTo(0,200-self.data1[0]*50) + for i in xrange(1,100): + path.lineTo(2.5*(i+1), 200-self.data1[i]*50) + self.scene1.addPath(path, QPen(QColor(0,0,255), 3)) + + self.scene2.addSimpleText('[A]').moveBy(-39, 220-10) + path = QPainterPath() + path.moveTo(0,200-self.data2[0]*50) + for i in xrange(1,100): + path.lineTo(2.5*(i+1), 200-self.data2[i]*50) + self.scene2.addPath(path, QPen(QColor(0,0,255), 3)) + + self.scene3.addSimpleText('[B]').moveBy(-39, 220-10) + path = QPainterPath() + path.moveTo(0,200-self.data3[0]*50) + for i in xrange(1,100): + path.lineTo(2.5*(i+1), 200-self.data3[i]*50) + self.scene3.addPath(path, QPen(QColor(0,0,255), 3)) + + self.scene4.addSimpleText('[C]').moveBy(-39, 220-10) + path = QPainterPath() + path.moveTo(0,200-self.data4[0]*50) + for i in xrange(1,100): + path.lineTo(2.5*(i+1), 200-self.data4[i]*50) + self.scene4.addPath(path, QPen(QColor(0,0,255), 3)) + + self.ui.graph1.setScene(self.scene1) + self.ui.graph2.setScene(self.scene2) + self.ui.graph3.setScene(self.scene3) + self.ui.graph4.setScene(self.scene4) class ModuleC(): @@ -31,7 +103,7 @@ class ModuleC(): def start(self): self.widget.dev = Device() - self.widget.timer.start(50) + self.widget.timer.start(25) def stop(self): self.widget.timer.stop() diff --git a/software/modules/ModuleC.ui b/software/modules/ModuleC.ui index 2e58528..06655f5 100644 --- a/software/modules/ModuleC.ui +++ b/software/modules/ModuleC.ui @@ -13,6 +13,149 @@ Form + + + + 100 + 10 + 331 + 251 + + + + + + + 100 + 270 + 331 + 251 + + + + + + + 440 + 10 + 321 + 251 + + + + + + + 440 + 270 + 331 + 251 + + + + + + + 10 + 10 + 81 + 80 + + + + Current + + + + + 10 + 50 + 51 + 26 + + + + DC + + + true + + + + + + 10 + 20 + 51 + 26 + + + + AC + + + + + + + 10 + 100 + 81 + 121 + + + + Mode + + + + + 10 + 30 + 51 + 26 + + + + L + + + true + + + + + + 10 + 60 + 51 + 26 + + + + C + + + false + + + + + + 10 + 90 + 51 + 26 + + + + LC + + + false + + +