read inputs in separate thread

This commit is contained in:
Pavol Rusnak 2011-04-23 20:00:44 +02:00
parent d4c3b1d9bf
commit 37a48eb7e6
3 changed files with 52 additions and 18 deletions

View file

@ -83,7 +83,7 @@ class Device:
return (randint(0,65535), # AD0
randint(0,65535), randint(0,65535), randint(0,65535), # AD1 .. AD3
randint(0,65535), randint(0,65535), randint(0,65535), # AD4 .. AD6
randint(0,7)) # IO1 .. IO3
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

@ -2,6 +2,7 @@ from PyQt4.QtGui import QWidget
from PyQt4.QtCore import pyqtSlot
from PyQt4.QtCore import SIGNAL
from PyQt4.QtCore import QObject
from PyQt4.QtCore import QTimer
from ModuleDebugUi import Ui_ModuleDebug
from device import Device
@ -25,7 +26,13 @@ class ModuleDebugWidget(QWidget):
QObject.connect(self.ui.pushPin2, SIGNAL("clicked(bool)"), self.on_pins_changed)
QObject.connect(self.ui.pushPin3, SIGNAL("clicked(bool)"), self.on_pins_changed)
self.dev = Device(True)
# real device:
self.dev = Device()
# fake device:
# self.dev = Device(True)
self.timer = QTimer()
QObject.connect(self.timer, SIGNAL("timeout()"), self.read_inputs)
@pyqtSlot(int)
def on_dialPWM1_valueChanged(self, val):
@ -109,7 +116,34 @@ class ModuleDebugWidget(QWidget):
@pyqtSlot(int)
def on_dialInputFreq_valueChanged(self, val):
print self.dev.read()
self.timer.stop()
if val > 0:
self.timer.start(1000.0/val)
else:
self.ui.labelAD0.setText('AD0: -')
self.ui.labelAD1.setText('AD1: -')
self.ui.labelAD2.setText('AD2: -')
self.ui.labelAD3.setText('AD3: -')
self.ui.labelAD4.setText('AD4: -')
self.ui.labelAD5.setText('AD5: -')
self.ui.labelAD6.setText('AD6: -')
self.ui.labelIO1.setText('IO1: -')
self.ui.labelIO2.setText('IO2: -')
self.ui.labelIO3.setText('IO3: -')
def read_inputs(self):
r = self.dev.read()
self.ui.labelAD0.setText('AD0: ' + str(r[0]))
self.ui.labelAD1.setText('AD1: ' + str(r[1]))
self.ui.labelAD2.setText('AD2: ' + str(r[2]))
self.ui.labelAD3.setText('AD3: ' + str(r[3]))
self.ui.labelAD4.setText('AD4: ' + str(r[4]))
self.ui.labelAD5.setText('AD5: ' + str(r[5]))
self.ui.labelAD6.setText('AD6: ' + str(r[6]))
self.ui.labelIO1.setText('IO1: ' + str(r[7]))
self.ui.labelIO2.setText('IO2: ' + str(r[8]))
self.ui.labelIO3.setText('IO3: ' + str(r[9]))
class ModuleDebug():

View file

@ -662,10 +662,10 @@
</rect>
</property>
<property name="minimum">
<number>1</number>
<number>0</number>
</property>
<property name="maximum">
<number>999</number>
<number>1000</number>
</property>
<property name="pageStep">
<number>10</number>
@ -687,13 +687,13 @@
<string>1</string>
</property>
<property name="minimum">
<number>1</number>
<number>0</number>
</property>
<property name="maximum">
<number>999</number>
<number>1000</number>
</property>
<property name="value">
<number>1</number>
<number>0</number>
</property>
<property name="maxLength" stdset="0">
<number>3</number>
@ -709,7 +709,7 @@
</rect>
</property>
<property name="text">
<string>AD1: 0</string>
<string>AD1: -</string>
</property>
</widget>
<widget class="QLabel" name="labelAD2">
@ -722,7 +722,7 @@
</rect>
</property>
<property name="text">
<string>AD2: 0</string>
<string>AD2: -</string>
</property>
</widget>
<widget class="QLabel" name="labelAD3">
@ -735,7 +735,7 @@
</rect>
</property>
<property name="text">
<string>AD3: 0</string>
<string>AD3: -</string>
</property>
</widget>
<widget class="QLabel" name="labelAD4">
@ -748,7 +748,7 @@
</rect>
</property>
<property name="text">
<string>AD4: 0</string>
<string>AD4: -</string>
</property>
</widget>
<widget class="QLabel" name="labelAD5">
@ -761,7 +761,7 @@
</rect>
</property>
<property name="text">
<string>AD5: 0</string>
<string>AD5: -</string>
</property>
</widget>
<widget class="QLabel" name="labelAD6">
@ -774,7 +774,7 @@
</rect>
</property>
<property name="text">
<string>AD6: 0</string>
<string>AD6: -</string>
</property>
</widget>
<widget class="QLabel" name="labelIO2">
@ -787,7 +787,7 @@
</rect>
</property>
<property name="text">
<string>IO2: 0</string>
<string>IO2: -</string>
</property>
</widget>
<widget class="QLabel" name="labelIO3">
@ -800,7 +800,7 @@
</rect>
</property>
<property name="text">
<string>IO3: 0</string>
<string>IO3: -</string>
</property>
</widget>
<widget class="QLabel" name="labelIO1">
@ -813,7 +813,7 @@
</rect>
</property>
<property name="text">
<string>IO1: 0</string>
<string>IO1: -</string>
</property>
</widget>
<widget class="QLabel" name="labelAD0">
@ -826,7 +826,7 @@
</rect>
</property>
<property name="text">
<string>AD0: 0</string>
<string>AD0: -</string>
</property>
</widget>
</widget>