mirror of
https://github.com/brmlab/edubrm.git
synced 2025-06-08 21:03:59 +02:00
56 lines
1.7 KiB
Python
56 lines
1.7 KiB
Python
from PyQt4.QtGui import QWidget
|
|
from PyQt4.QtGui import QGraphicsScene
|
|
from PyQt4.QtGui import QPixmap
|
|
from PyQt4.QtCore import pyqtSlot
|
|
from PyQt4.QtCore import SIGNAL
|
|
from PyQt4.QtCore import QObject
|
|
from PyQt4.QtCore import QTimer
|
|
from ModuleBUi import Ui_ModuleB
|
|
from device import Device
|
|
|
|
class ModuleBWidget(QWidget):
|
|
|
|
def __init__(self):
|
|
QWidget.__init__(self)
|
|
self.ui = Ui_ModuleB()
|
|
self.ui.setupUi(self)
|
|
|
|
self.timer = QTimer()
|
|
QObject.connect(self.timer, SIGNAL("timeout()"), self.read_inputs)
|
|
|
|
self.scene_nobat = QGraphicsScene()
|
|
self.scene_nobat.addPixmap(QPixmap('modules/ModuleB-nobat.png'))
|
|
self.scene_off = QGraphicsScene()
|
|
self.scene_off.addPixmap(QPixmap('modules/ModuleB-off.png'))
|
|
self.scene_on = QGraphicsScene()
|
|
self.scene_on.addPixmap(QPixmap('modules/ModuleB-on.png'))
|
|
self.ui.widgetImg.setScene(self.scene_nobat)
|
|
|
|
def read_inputs(self):
|
|
r = self.dev.read()
|
|
us = r[1]/1023.0 * 3.3
|
|
uc = r[2]/1023.0 * 3.3
|
|
i = (us-uc)*10
|
|
self.ui.labelUs.setText('Us = %0.3f V' % us)
|
|
self.ui.labelUc.setText('Uc = %0.3f V' % uc)
|
|
self.ui.labelI.setText('I = %0.2f mA' % i)
|
|
if us < 1.5:
|
|
self.ui.widgetImg.setScene(self.scene_nobat)
|
|
else:
|
|
if uc < 1.5:
|
|
self.ui.widgetImg.setScene(self.scene_off)
|
|
else:
|
|
self.ui.widgetImg.setScene(self.scene_on)
|
|
|
|
class ModuleB():
|
|
|
|
def __init__(self):
|
|
self.title = 'Simple DC circuit'
|
|
self.widget = ModuleBWidget()
|
|
|
|
def start(self):
|
|
self.widget.dev = Device()
|
|
self.widget.timer.start(50)
|
|
|
|
def stop(self):
|
|
self.widget.timer.stop()
|