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): def read(self):
if self.fake: if self.fake:
from random import randint from random import randint
return (randint(0,1023), # AD0 from time import time
randint(0,1023), randint(0,1023), randint(0,1023), # AD1 .. AD3 from math import sin
randint(0,1023), randint(0,1023), randint(0,1023), # AD4 .. AD6 return (randint(0,1023), # AD0
randint(0,1), randint(0,1), randint(0,1)) # IO1 .. IO3 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: else:
i = self.epi.read(self.INSIZE) i = self.epi.read(self.INSIZE)
return (i[0] + (i[1]<<8), # AD0 return (i[0] + (i[1]<<8), # AD0

View file

@ -1,4 +1,8 @@
from PyQt4.QtGui import QWidget 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 pyqtSlot
from PyQt4.QtCore import SIGNAL from PyQt4.QtCore import SIGNAL
from PyQt4.QtCore import QObject from PyQt4.QtCore import QObject
@ -16,11 +20,46 @@ class ModuleAWidget(QWidget):
self.timer = QTimer() self.timer = QTimer()
QObject.connect(self.timer, SIGNAL("timeout()"), self.read_inputs) 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): def read_inputs(self):
r = self.dev.read() r = self.dev.read()
v = r[1]/1023.0 * 3.3 u = r[1]/1023.0 * 3.3
self.ui.labelV.setText('%0.3f V' % v) self.ui.labelU.setText('%0.3f V' % u)
self.ui.progressV.setValue(1000*v) 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(): class ModuleA():

View file

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