File: Qport-control.py

package info (click to toggle)
expeyes 5.3.3%2Brepack-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 43,480 kB
  • sloc: python: 36,039; ansic: 9,754; xml: 1,010; makefile: 784; sh: 581; asm: 202; javascript: 46; php: 1
file content (53 lines) | stat: -rw-r--r-- 1,083 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import sys
from functools import partial
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from kuttyPy import *


class mwin(QWidget):
	WIDTH  = 400
	HEIGHT = 300
	bits = [None]*8
	PBdata = 0
	
	def __init__(self):
		QWidget.__init__(self)
		self.setMinimumSize(self.WIDTH, self.HEIGHT)
		self.setWindowTitle('Measurements & Controls')
		
		layout = QVBoxLayout()	
		H = QHBoxLayout()
		for k in range(8):
			self.bits[k] = QCheckBox('PortB-%3d'%k)
			self.bits[k].stateChanged.connect(partial (self.setbit, k))
			H.addWidget(self.bits[k])
			
		layout.addLayout(H)	
		self.cb = QCheckBox(text='Port B')
		layout.addWidget(self.cb)	
		self.cb.stateChanged.connect(self.setportB)
		self.setLayout(layout)
		
		setReg(DDRB, 255)
		
	def setbit(self, bit):
		print (bit)
		self.PBdata = 0
		if self.bits[bit].isChecked() == True:
			setBits(PORTB, 1 << bit)
		else:
			clrBits(PORTB, 1 << bit)
		
	def setportB(self):
		if self.cb.isChecked() == True:
			setReg(PORTB, 255)
		else: 
			setReg(PORTB, 0)
		
app = QApplication(sys.argv)
mw = mwin()
mw.show()
sys.exit(app.exec_())