# -*- 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()