finish A module

This commit is contained in:
Pavol Rusnak 2011-05-01 22:53:42 +02:00
parent 854d40738f
commit 43ef244ff8
3 changed files with 57 additions and 16 deletions

View file

@ -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

View file

@ -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():

View file

@ -13,23 +13,23 @@
<property name="windowTitle">
<string>Form</string>
</property>
<widget class="QGraphicsView" name="graphV">
<widget class="QGraphicsView" name="graphU">
<property name="geometry">
<rect>
<x>80</x>
<y>10</y>
<width>691</width>
<height>481</height>
<width>701</width>
<height>511</height>
</rect>
</property>
</widget>
<widget class="QProgressBar" name="progressV">
<widget class="QProgressBar" name="progressU">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<y>49</y>
<width>61</width>
<height>481</height>
<height>401</height>
</rect>
</property>
<property name="maximum">
@ -45,13 +45,13 @@
<enum>Qt::Vertical</enum>
</property>
</widget>
<widget class="QLabel" name="labelV">
<widget class="QLabel" name="labelU">
<property name="geometry">
<rect>
<x>10</x>
<y>500</y>
<y>460</y>
<width>61</width>
<height>21</height>
<height>61</height>
</rect>
</property>
<property name="text">