colourterm/colourterm/connectdialog.py

181 lines
9.0 KiB
Python

# -*- coding: utf-8 -*-
from PyQt4 import QtCore, QtGui
from serial import FIVEBITS, SIXBITS, SEVENBITS, EIGHTBITS, PARITY_NONE, PARITY_EVEN, PARITY_ODD, PARITY_MARK,\
PARITY_SPACE, STOPBITS_ONE, STOPBITS_ONE_POINT_FIVE, STOPBITS_TWO
from colourterm import fromUtf8, translate
DATA_BITS = {
'5': FIVEBITS,
'6': SIXBITS,
'7': SEVENBITS,
'8': EIGHTBITS
}
PARITY_BITS = {
'None': PARITY_NONE,
'Even': PARITY_EVEN,
'Odd': PARITY_ODD,
'Mark': PARITY_MARK,
'Space': PARITY_SPACE
}
STOP_BITS = {
'1': STOPBITS_ONE,
'1.5': STOPBITS_ONE_POINT_FIVE,
'2': STOPBITS_TWO
}
class Ui_ConnectDialog(object):
def setupUi(self, connectDialog):
self.deviceLayout = QtGui.QGridLayout(connectDialog)
self.deviceLayout.setSpacing(8)
self.deviceLayout.setContentsMargins(8, 8, 8, 0)
self.deviceLayout.setObjectName(fromUtf8('deviceLayout'))
self.portLabel = QtGui.QLabel(connectDialog)
self.portLabel.setObjectName(fromUtf8('portLabel'))
self.deviceLayout.addWidget(self.portLabel, 0, 0, 1, 1)
self.portEdit = QtGui.QLineEdit(connectDialog)
self.portEdit.setText(fromUtf8('/dev/ttyUSB0'))
self.portEdit.setObjectName(fromUtf8('portEdit'))
self.deviceLayout.addWidget(self.portEdit, 0, 1, 1, 1)
self.baudLabel = QtGui.QLabel(connectDialog)
self.baudLabel.setObjectName(fromUtf8('baudLabel'))
self.deviceLayout.addWidget(self.baudLabel, 1, 0, 1, 1)
self.baudComboBox = QtGui.QComboBox(connectDialog)
self.baudComboBox.setObjectName(fromUtf8('baudComboBox'))
self.baudComboBox.addItem(fromUtf8(''))
self.baudComboBox.addItem(fromUtf8(''))
self.baudComboBox.addItem(fromUtf8(''))
self.baudComboBox.addItem(fromUtf8(''))
self.baudComboBox.addItem(fromUtf8(''))
self.baudComboBox.addItem(fromUtf8(''))
self.baudComboBox.addItem(fromUtf8(''))
self.baudComboBox.addItem(fromUtf8(''))
self.baudComboBox.addItem(fromUtf8(''))
self.baudComboBox.addItem(fromUtf8(''))
self.deviceLayout.addWidget(self.baudComboBox, 1, 1, 1, 1)
self.dataBitsLabel = QtGui.QLabel(connectDialog)
self.dataBitsLabel.setObjectName(fromUtf8('dataBitsLabel'))
self.deviceLayout.addWidget(self.dataBitsLabel, 2, 0, 1, 1)
self.dataBitsComboBox = QtGui.QComboBox(connectDialog)
self.dataBitsComboBox.setObjectName(fromUtf8('dataBitsComboBox'))
self.dataBitsComboBox.addItem(fromUtf8(''))
self.dataBitsComboBox.addItem(fromUtf8(''))
self.dataBitsComboBox.addItem(fromUtf8(''))
self.dataBitsComboBox.addItem(fromUtf8(''))
self.deviceLayout.addWidget(self.dataBitsComboBox, 2, 1, 1, 1)
self.stopBitsLabel = QtGui.QLabel(connectDialog)
self.stopBitsLabel.setObjectName(fromUtf8('stopBitsLabel'))
self.deviceLayout.addWidget(self.stopBitsLabel, 3, 0, 1, 1)
self.stopBitsComboBox = QtGui.QComboBox(connectDialog)
self.stopBitsComboBox.setObjectName(fromUtf8('stopBitsComboBox'))
self.stopBitsComboBox.addItem(fromUtf8(''))
self.stopBitsComboBox.addItem(fromUtf8(''))
self.stopBitsComboBox.addItem(fromUtf8(''))
self.deviceLayout.addWidget(self.stopBitsComboBox, 3, 1, 1, 1)
self.parityLabel = QtGui.QLabel(connectDialog)
self.parityLabel.setObjectName(fromUtf8('parityLabel'))
self.deviceLayout.addWidget(self.parityLabel, 4, 0, 1, 1)
self.parityComboBox = QtGui.QComboBox(connectDialog)
self.parityComboBox.setObjectName(fromUtf8('parityComboBox'))
self.parityComboBox.addItem(fromUtf8(''))
self.parityComboBox.addItem(fromUtf8(''))
self.parityComboBox.addItem(fromUtf8(''))
self.parityComboBox.addItem(fromUtf8(''))
self.parityComboBox.addItem(fromUtf8(''))
self.deviceLayout.addWidget(self.parityComboBox, 4, 1, 1, 1)
self.handshakeLabel = QtGui.QLabel(connectDialog)
self.handshakeLabel.setObjectName(fromUtf8('handshakeLabel'))
self.deviceLayout.addWidget(self.handshakeLabel, 0, 2, 1, 1)
self.softwareCheckBox = QtGui.QCheckBox(connectDialog)
self.softwareCheckBox.setObjectName(fromUtf8('softwareCheckBox'))
self.deviceLayout.addWidget(self.softwareCheckBox, 0, 3, 1, 1)
self.hardwareCheckBox = QtGui.QCheckBox(connectDialog)
self.hardwareCheckBox.setObjectName(fromUtf8('hardwareCheckBox'))
self.deviceLayout.addWidget(self.hardwareCheckBox, 1, 3, 1, 1)
self.openModeLabel = QtGui.QLabel(connectDialog)
self.openModeLabel.setObjectName(fromUtf8('openModeLabel'))
self.deviceLayout.addWidget(self.openModeLabel, 2, 2, 1, 1)
self.readingCheckBox = QtGui.QCheckBox(connectDialog)
self.readingCheckBox.setChecked(True)
self.readingCheckBox.setObjectName(fromUtf8('readingCheckBox'))
self.deviceLayout.addWidget(self.readingCheckBox, 2, 3, 1, 1)
self.writingCheckBox = QtGui.QCheckBox(connectDialog)
self.writingCheckBox.setChecked(True)
self.writingCheckBox.setObjectName(fromUtf8('writingCheckBox'))
self.deviceLayout.addWidget(self.writingCheckBox, 3, 3, 1, 1)
self.buttonBox = QtGui.QDialogButtonBox(QtGui.QDialogButtonBox.Ok | QtGui.QDialogButtonBox.Cancel)
self.deviceLayout.addWidget(self.buttonBox, 5, 0, 1, 4)
self.retranslateUi(connectDialog)
self.baudComboBox.setCurrentIndex(4)
QtCore.QMetaObject.connectSlotsByName(connectDialog)
self.buttonBox.accepted.connect(connectDialog.accept)
self.buttonBox.rejected.connect(connectDialog.reject)
def retranslateUi(self, connectDialog):
connectDialog.setWindowTitle(translate('ConnectDialog', 'Open Port'))
self.portLabel.setText(translate('ConnectDialog', 'Port:'))
self.baudLabel.setText(translate('ConnectDialog', 'Baude rate:'))
self.baudComboBox.setItemText(0, translate('ConnectDialog', '921600'))
self.baudComboBox.setItemText(1, translate('ConnectDialog', '576000'))
self.baudComboBox.setItemText(2, translate('ConnectDialog', '460800'))
self.baudComboBox.setItemText(3, translate('ConnectDialog', '230400'))
self.baudComboBox.setItemText(4, translate('ConnectDialog', '115200'))
self.baudComboBox.setItemText(5, translate('ConnectDialog', '57600'))
self.baudComboBox.setItemText(6, translate('ConnectDialog', '38400'))
self.baudComboBox.setItemText(7, translate('ConnectDialog', '19200'))
self.baudComboBox.setItemText(8, translate('ConnectDialog', '9600'))
self.baudComboBox.setItemText(9, translate('ConnectDialog', '4800'))
self.dataBitsLabel.setText(translate('ConnectDialog', 'Data bits:'))
self.dataBitsComboBox.setItemText(0, translate('ConnectDialog', '8'))
self.dataBitsComboBox.setItemText(1, translate('ConnectDialog', '7'))
self.dataBitsComboBox.setItemText(2, translate('ConnectDialog', '6'))
self.dataBitsComboBox.setItemText(3, translate('ConnectDialog', '5'))
self.stopBitsLabel.setText(translate('ConnectDialog', 'Stop bits:'))
self.stopBitsComboBox.setItemText(0, translate('ConnectDialog', '1'))
self.stopBitsComboBox.setItemText(1, translate('ConnectDialog', '1.5'))
self.stopBitsComboBox.setItemText(2, translate('ConnectDialog', '2'))
self.parityLabel.setText(translate('ConnectDialog', 'Parity:'))
self.parityComboBox.setItemText(0, translate('ConnectDialog', 'None'))
self.parityComboBox.setItemText(1, translate('ConnectDialog', 'Odd'))
self.parityComboBox.setItemText(2, translate('ConnectDialog', 'Even'))
self.parityComboBox.setItemText(3, translate('ConnectDialog', 'Mark'))
self.parityComboBox.setItemText(4, translate('ConnectDialog', 'Space'))
self.handshakeLabel.setText(translate('ConnectDialog', 'Handshake:'))
self.softwareCheckBox.setText(translate('ConnectDialog', 'Software'))
self.hardwareCheckBox.setText(translate('ConnectDialog', 'Hardware'))
self.openModeLabel.setText(translate('ConnectDialog', 'Open mode:'))
self.readingCheckBox.setText(translate('ConnectDialog', 'Reading'))
self.writingCheckBox.setText(translate('ConnectDialog', 'Writing'))
class ConnectDialog(QtGui.QDialog, Ui_ConnectDialog):
def __init__(self):
QtGui.QDialog.__init__(self)
self.setupUi(self)
def getPort(self):
return unicode(self.portEdit.text())
def getBaud(self):
return int(unicode(self.baudComboBox.currentText()))
def getDataBits(self):
return DATA_BITS[unicode(self.dataBitsComboBox.currentText())]
def getStopBits(self):
return STOP_BITS[unicode(self.stopBitsComboBox.currentText())]
def getParity(self):
return PARITY_BITS[unicode(self.parityComboBox.currentText())]
def getSoftwareHandshake(self):
return self.softwareCheckBox.isChecked()
def getHardwareHandshake(self):
return self.hardwareCheckBox.isChecked()