Esempio n. 1
0
class ConfigureSerailConnectionDialog(QtWidgets.QDialog):
    def __init__(self, parent=None):
        super().__init__(parent)

        self.setupUi(SimpleFOCDevice.getInstance())

    def setupUi(self, device=None):
        self.setObjectName('Dialog')
        self.resize(700, 188)

        self.gridLayout = QtWidgets.QGridLayout(self)
        self.gridLayout.setObjectName('gridLayout')

        self.portNameLabel = QtWidgets.QLabel(self)
        self.portNameLabel.setObjectName('portNameLabel')
        self.gridLayout.addWidget(self.portNameLabel, 0, 0, 1, 1)

        self.portNameComboBox = SerialPortComboBox(self)
        self.portNameComboBox.setObjectName('portNameComboBox')
        self.portNameComboBox.setMinimumWidth(250)
        self.gridLayout.addWidget(self.portNameComboBox, 0, 1, 1, 1)

        self.bitRateLabel = QtWidgets.QLabel(self)
        self.bitRateLabel.setObjectName('bitRateLabel')
        self.gridLayout.addWidget(self.bitRateLabel, 0, 2, 1, 1)

        self.bitRatelineEdit = QtWidgets.QLineEdit(self)
        self.bitRatelineEdit.setObjectName('bitRatelineEdit')
        self.bitRatelineEdit.setValidator(
            QtGui.QRegExpValidator(QtCore.QRegExp("^[0-9]*$")))
        self.gridLayout.addWidget(self.bitRatelineEdit, 0, 3, 1, 1)

        self.parityLabel = QtWidgets.QLabel(self)
        self.parityLabel.setObjectName('parityLabel')
        self.gridLayout.addWidget(self.parityLabel, 1, 0, 1, 1)

        self.parityComboBox = QtWidgets.QComboBox(self)
        self.parityComboBox.setObjectName('parityComboBox')
        self.parityComboBox.addItems(serial.PARITY_NAMES.values())
        self.gridLayout.addWidget(self.parityComboBox, 1, 1, 1, 1)

        serial.PARITY_NAMES.values()

        self.byteSizeLabel = QtWidgets.QLabel(self)
        self.byteSizeLabel.setObjectName('byteSizeLabel')
        self.gridLayout.addWidget(self.byteSizeLabel, 1, 2, 1, 1)

        self.byteSizeComboBox = QtWidgets.QComboBox(self)
        self.byteSizeComboBox.setObjectName('byteSizeComboBox')
        byteSizeList = [
            str(serial.EIGHTBITS),
            str(serial.FIVEBITS),
            str(serial.SIXBITS),
            str(serial.SEVENBITS)
        ]
        self.byteSizeComboBox.addItems(byteSizeList)
        self.gridLayout.addWidget(self.byteSizeComboBox, 1, 3, 1, 1)

        self.stopBitsLabel = QtWidgets.QLabel(self)
        self.stopBitsLabel.setObjectName('stopBitsLabel')
        self.gridLayout.addWidget(self.stopBitsLabel, 2, 0, 1, 1)

        self.stopBitsComboBox = QtWidgets.QComboBox(self)
        byteStopBitsList = [
            str(serial.STOPBITS_ONE),
            str(serial.STOPBITS_ONE_POINT_FIVE),
            str(serial.STOPBITS_TWO)
        ]
        self.stopBitsComboBox.addItems(byteStopBitsList)
        self.stopBitsComboBox.setObjectName('stopBitsComboBox')
        self.gridLayout.addWidget(self.stopBitsComboBox, 2, 1, 1, 1)

        self.connectionIDLabel = QtWidgets.QLabel(self)
        self.connectionIDLabel.setObjectName('connectionNameLabel')
        self.gridLayout.addWidget(self.connectionIDLabel, 2, 2, 1, 1)

        self.connectionIDlineEdit = QtWidgets.QLineEdit(self)
        self.connectionIDlineEdit.setMaxLength(10)
        self.connectionIDlineEdit.setObjectName('connectionNameEdit')
        self.gridLayout.addWidget(self.connectionIDlineEdit, 2, 3, 1, 1)

        self.buttonBox = QtWidgets.QDialogButtonBox(self)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel
                                          | QtWidgets.QDialogButtonBox.Ok)
        self.buttonBox.setObjectName('buttonBox')

        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 4)

        self.setWindowTitle('Configure serial connection')
        self.portNameLabel.setText('Port Name')
        self.bitRateLabel.setText('Bit rate')
        self.parityLabel.setText('Parity')
        self.byteSizeLabel.setText('Byte size')
        self.stopBitsLabel.setText('Stop bits')
        self.connectionIDLabel.setText('Conn ID')

        self.buttonBox.accepted.connect(self.accept)
        self.buttonBox.rejected.connect(self.reject)

        QtCore.QMetaObject.connectSlotsByName(self)

        if device is not None:
            self.fillForm(device)

    def fillForm(self, deviceConnector):
        self.connectionIDlineEdit.setText(deviceConnector.connectionID)
        self.portNameComboBox.setCurrentText(deviceConnector.serialPortName)
        self.bitRatelineEdit.setText(str(deviceConnector.serialRate))
        self.stopBitsComboBox.setCurrentText(str(deviceConnector.stopBits))
        self.byteSizeComboBox.setCurrentText(
            str(deviceConnector.serialByteSize))
        self.parityComboBox.setCurrentText(str(deviceConnector.serialParity))

    def getConfigValues(self):
        values = {
            'connectionID':
            self.connectionIDlineEdit.text(),
            'serialPortName':
            self.portNameComboBox.currentText(),
            'serialRate':
            self.bitRatelineEdit.text(),
            'stopBits':
            self.stopBitsExtractor(self.stopBitsComboBox.currentText()),
            'serialByteSize':
            int(str(self.byteSizeComboBox.currentText())),
            'serialParity':
            list(serial.PARITY_NAMES.keys())[list(
                serial.PARITY_NAMES.values()).index(
                    self.parityComboBox.currentText())][0]
        }
        return values

    def stopBitsExtractor(self, value):
        if value == '1.5':
            return float(self.stopBitsComboBox.currentText())
        else:
            return int(self.stopBitsComboBox.currentText())
Esempio n. 2
0
    def __init__(self, parent=None):
        super().__init__(parent)

        self.device = SimpleFOCDevice.getInstance()

        self.setTitle('Configure serial connection')
        self.setObjectName('configureConnection')

        self.configCoonLayout = QtWidgets.QHBoxLayout(self)
        self.configCoonLayout.setObjectName(
            'configureConnectionorizontalLayout')

        self.portNameLabel = QtWidgets.QLabel(self)
        self.portNameLabel.setObjectName('portNameLabel')
        self.configCoonLayout.addWidget(self.portNameLabel)

        self.portNameComboBox = SerialPortComboBox(self)
        self.portNameComboBox.setObjectName('portNameComboBox')
        self.portNameComboBox.setMinimumWidth(250)
        self.configCoonLayout.addWidget(self.portNameComboBox)

        self.bitRateLabel = QtWidgets.QLabel(self)
        self.bitRateLabel.setObjectName('bitRateLabel')
        self.configCoonLayout.addWidget(self.bitRateLabel)

        self.bitRatelineEdit = QtWidgets.QLineEdit(self)
        self.bitRatelineEdit.setObjectName('bitRatelineEdit')
        self.bitRatelineEdit.setValidator(
            QtGui.QRegExpValidator(QtCore.QRegExp("^[0-9]*$")))
        self.bitRatelineEdit.setText('115200')
        self.configCoonLayout.addWidget(self.bitRatelineEdit)

        self.parityLabel = QtWidgets.QLabel(self)
        self.parityLabel.setObjectName('parityLabel')
        self.configCoonLayout.addWidget(self.parityLabel)

        self.parityComboBox = QtWidgets.QComboBox(self)
        self.parityComboBox.setObjectName('parityComboBox')
        self.parityComboBox.addItems(serial.PARITY_NAMES.values())
        self.configCoonLayout.addWidget(self.parityComboBox)

        serial.PARITY_NAMES.values()

        self.byteSizeLabel = QtWidgets.QLabel(self)
        self.byteSizeLabel.setObjectName('byteSizeLabel')
        self.configCoonLayout.addWidget(self.byteSizeLabel)

        self.byteSizeComboBox = QtWidgets.QComboBox(self)
        self.byteSizeComboBox.setObjectName('byteSizeComboBox')
        byteSizeList = [
            str(serial.EIGHTBITS),
            str(serial.FIVEBITS),
            str(serial.SIXBITS),
            str(serial.SEVENBITS)
        ]
        self.byteSizeComboBox.addItems(byteSizeList)
        self.configCoonLayout.addWidget(self.byteSizeComboBox)

        self.stopBitsLabel = QtWidgets.QLabel(self)
        self.stopBitsLabel.setObjectName('stopBitsLabel')
        self.configCoonLayout.addWidget(self.stopBitsLabel)

        self.stopBitsComboBox = QtWidgets.QComboBox(self)
        byteStopBitsList = [
            str(serial.STOPBITS_ONE),
            str(serial.STOPBITS_ONE_POINT_FIVE),
            str(serial.STOPBITS_TWO)
        ]
        self.stopBitsComboBox.addItems(byteStopBitsList)
        self.stopBitsComboBox.setObjectName('stopBitsComboBox')
        self.configCoonLayout.addWidget(self.stopBitsComboBox)

        self.connectDisconnectButton = QtWidgets.QPushButton(self)
        self.connectDisconnectButton.setIcon(
            GUIToolKit.getIconByName('connect'))
        self.connectDisconnectButton.setObjectName('connectDeviceButton')
        self.connectDisconnectButton.setText('Connect')
        self.connectDisconnectButton.clicked.connect(
            self.connectDisconnectDeviceAction)

        self.configCoonLayout.addWidget(self.connectDisconnectButton)

        self.portNameLabel.setText('Port Name')
        self.bitRateLabel.setText('Bit rate')
        self.parityLabel.setText('Parity')
        self.byteSizeLabel.setText('Byte size')
        self.stopBitsLabel.setText('Stop bits')

        self.device.addConnectionStateListener(self)
        self.connectionStateChanged(self.device.isConnected)
Esempio n. 3
0
    def setupUi(self, device=None):
        self.setObjectName('Dialog')
        self.resize(700, 188)

        self.gridLayout = QtWidgets.QGridLayout(self)
        self.gridLayout.setObjectName('gridLayout')

        self.portNameLabel = QtWidgets.QLabel(self)
        self.portNameLabel.setObjectName('portNameLabel')
        self.gridLayout.addWidget(self.portNameLabel, 0, 0, 1, 1)

        self.portNameComboBox = SerialPortComboBox(self)
        self.portNameComboBox.setObjectName('portNameComboBox')
        self.portNameComboBox.setMinimumWidth(250)
        self.gridLayout.addWidget(self.portNameComboBox, 0, 1, 1, 1)

        self.bitRateLabel = QtWidgets.QLabel(self)
        self.bitRateLabel.setObjectName('bitRateLabel')
        self.gridLayout.addWidget(self.bitRateLabel, 0, 2, 1, 1)

        self.bitRatelineEdit = QtWidgets.QLineEdit(self)
        self.bitRatelineEdit.setObjectName('bitRatelineEdit')
        self.bitRatelineEdit.setValidator(
            QtGui.QRegExpValidator(QtCore.QRegExp("^[0-9]*$")))
        self.gridLayout.addWidget(self.bitRatelineEdit, 0, 3, 1, 1)

        self.parityLabel = QtWidgets.QLabel(self)
        self.parityLabel.setObjectName('parityLabel')
        self.gridLayout.addWidget(self.parityLabel, 1, 0, 1, 1)

        self.parityComboBox = QtWidgets.QComboBox(self)
        self.parityComboBox.setObjectName('parityComboBox')
        self.parityComboBox.addItems(serial.PARITY_NAMES.values())
        self.gridLayout.addWidget(self.parityComboBox, 1, 1, 1, 1)

        serial.PARITY_NAMES.values()

        self.byteSizeLabel = QtWidgets.QLabel(self)
        self.byteSizeLabel.setObjectName('byteSizeLabel')
        self.gridLayout.addWidget(self.byteSizeLabel, 1, 2, 1, 1)

        self.byteSizeComboBox = QtWidgets.QComboBox(self)
        self.byteSizeComboBox.setObjectName('byteSizeComboBox')
        byteSizeList = [
            str(serial.EIGHTBITS),
            str(serial.FIVEBITS),
            str(serial.SIXBITS),
            str(serial.SEVENBITS)
        ]
        self.byteSizeComboBox.addItems(byteSizeList)
        self.gridLayout.addWidget(self.byteSizeComboBox, 1, 3, 1, 1)

        self.stopBitsLabel = QtWidgets.QLabel(self)
        self.stopBitsLabel.setObjectName('stopBitsLabel')
        self.gridLayout.addWidget(self.stopBitsLabel, 2, 0, 1, 1)

        self.stopBitsComboBox = QtWidgets.QComboBox(self)
        byteStopBitsList = [
            str(serial.STOPBITS_ONE),
            str(serial.STOPBITS_ONE_POINT_FIVE),
            str(serial.STOPBITS_TWO)
        ]
        self.stopBitsComboBox.addItems(byteStopBitsList)
        self.stopBitsComboBox.setObjectName('stopBitsComboBox')
        self.gridLayout.addWidget(self.stopBitsComboBox, 2, 1, 1, 1)

        self.connectionIDLabel = QtWidgets.QLabel(self)
        self.connectionIDLabel.setObjectName('connectionNameLabel')
        self.gridLayout.addWidget(self.connectionIDLabel, 2, 2, 1, 1)

        self.connectionIDlineEdit = QtWidgets.QLineEdit(self)
        self.connectionIDlineEdit.setMaxLength(10)
        self.connectionIDlineEdit.setObjectName('connectionNameEdit')
        self.gridLayout.addWidget(self.connectionIDlineEdit, 2, 3, 1, 1)

        self.buttonBox = QtWidgets.QDialogButtonBox(self)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel
                                          | QtWidgets.QDialogButtonBox.Ok)
        self.buttonBox.setObjectName('buttonBox')

        self.gridLayout.addWidget(self.buttonBox, 3, 0, 1, 4)

        self.setWindowTitle('Configure serial connection')
        self.portNameLabel.setText('Port Name')
        self.bitRateLabel.setText('Bit rate')
        self.parityLabel.setText('Parity')
        self.byteSizeLabel.setText('Byte size')
        self.stopBitsLabel.setText('Stop bits')
        self.connectionIDLabel.setText('Conn ID')

        self.buttonBox.accepted.connect(self.accept)
        self.buttonBox.rejected.connect(self.reject)

        QtCore.QMetaObject.connectSlotsByName(self)

        if device is not None:
            self.fillForm(device)
Esempio n. 4
0
class ConfigureConnection(QtWidgets.QGroupBox):
    def __init__(self, parent=None):
        super().__init__(parent)

        self.device = SimpleFOCDevice.getInstance()

        self.setTitle('Configure serial connection')
        self.setObjectName('configureConnection')

        self.configCoonLayout = QtWidgets.QHBoxLayout(self)
        self.configCoonLayout.setObjectName(
            'configureConnectionorizontalLayout')

        self.portNameLabel = QtWidgets.QLabel(self)
        self.portNameLabel.setObjectName('portNameLabel')
        self.configCoonLayout.addWidget(self.portNameLabel)

        self.portNameComboBox = SerialPortComboBox(self)
        self.portNameComboBox.setObjectName('portNameComboBox')
        self.portNameComboBox.setMinimumWidth(250)
        self.configCoonLayout.addWidget(self.portNameComboBox)

        self.bitRateLabel = QtWidgets.QLabel(self)
        self.bitRateLabel.setObjectName('bitRateLabel')
        self.configCoonLayout.addWidget(self.bitRateLabel)

        self.bitRatelineEdit = QtWidgets.QLineEdit(self)
        self.bitRatelineEdit.setObjectName('bitRatelineEdit')
        self.bitRatelineEdit.setValidator(
            QtGui.QRegExpValidator(QtCore.QRegExp("^[0-9]*$")))
        self.bitRatelineEdit.setText('115200')
        self.configCoonLayout.addWidget(self.bitRatelineEdit)

        self.parityLabel = QtWidgets.QLabel(self)
        self.parityLabel.setObjectName('parityLabel')
        self.configCoonLayout.addWidget(self.parityLabel)

        self.parityComboBox = QtWidgets.QComboBox(self)
        self.parityComboBox.setObjectName('parityComboBox')
        self.parityComboBox.addItems(serial.PARITY_NAMES.values())
        self.configCoonLayout.addWidget(self.parityComboBox)

        serial.PARITY_NAMES.values()

        self.byteSizeLabel = QtWidgets.QLabel(self)
        self.byteSizeLabel.setObjectName('byteSizeLabel')
        self.configCoonLayout.addWidget(self.byteSizeLabel)

        self.byteSizeComboBox = QtWidgets.QComboBox(self)
        self.byteSizeComboBox.setObjectName('byteSizeComboBox')
        byteSizeList = [
            str(serial.EIGHTBITS),
            str(serial.FIVEBITS),
            str(serial.SIXBITS),
            str(serial.SEVENBITS)
        ]
        self.byteSizeComboBox.addItems(byteSizeList)
        self.configCoonLayout.addWidget(self.byteSizeComboBox)

        self.stopBitsLabel = QtWidgets.QLabel(self)
        self.stopBitsLabel.setObjectName('stopBitsLabel')
        self.configCoonLayout.addWidget(self.stopBitsLabel)

        self.stopBitsComboBox = QtWidgets.QComboBox(self)
        byteStopBitsList = [
            str(serial.STOPBITS_ONE),
            str(serial.STOPBITS_ONE_POINT_FIVE),
            str(serial.STOPBITS_TWO)
        ]
        self.stopBitsComboBox.addItems(byteStopBitsList)
        self.stopBitsComboBox.setObjectName('stopBitsComboBox')
        self.configCoonLayout.addWidget(self.stopBitsComboBox)

        self.connectDisconnectButton = QtWidgets.QPushButton(self)
        self.connectDisconnectButton.setIcon(
            GUIToolKit.getIconByName('connect'))
        self.connectDisconnectButton.setObjectName('connectDeviceButton')
        self.connectDisconnectButton.setText('Connect')
        self.connectDisconnectButton.clicked.connect(
            self.connectDisconnectDeviceAction)

        self.configCoonLayout.addWidget(self.connectDisconnectButton)

        self.portNameLabel.setText('Port Name')
        self.bitRateLabel.setText('Bit rate')
        self.parityLabel.setText('Parity')
        self.byteSizeLabel.setText('Byte size')
        self.stopBitsLabel.setText('Stop bits')

        self.device.addConnectionStateListener(self)
        self.connectionStateChanged(self.device.isConnected)

    def getConfigValues(self):
        values = {
            'connectionID':
            '',
            'serialPortName':
            self.portNameComboBox.currentText(),
            'serialRate':
            self.bitRatelineEdit.text(),
            'stopBits':
            self.stopBitsExtractor(self.stopBitsComboBox.currentText()),
            'serialByteSize':
            int(str(self.byteSizeComboBox.currentText())),
            'serialParity':
            list(serial.PARITY_NAMES.keys())[list(
                serial.PARITY_NAMES.values()).index(
                    self.parityComboBox.currentText())][0]
        }
        return values

    def stopBitsExtractor(self, value):
        if value == '1.5':
            return float(self.stopBitsComboBox.currentText())
        else:
            return int(self.stopBitsComboBox.currentText())

    def connectionStateChanged(self, isConnectedFlag):
        if isConnectedFlag:
            self.connectDisconnectButton.setText('Disconnect')
            self.connectDisconnectButton.setIcon(
                GUIToolKit.getIconByName('disconnect'))
        else:
            self.connectDisconnectButton.setText('Connect')
            self.connectDisconnectButton.setIcon(
                GUIToolKit.getIconByName('connect'))

        self.portNameLabel.setEnabled(not isConnectedFlag)
        self.portNameComboBox.setEnabled(not isConnectedFlag)
        self.bitRateLabel.setEnabled(not isConnectedFlag)
        self.bitRatelineEdit.setEnabled(not isConnectedFlag)
        self.parityLabel.setEnabled(not isConnectedFlag)
        self.parityComboBox.setEnabled(not isConnectedFlag)
        self.byteSizeLabel.setEnabled(not isConnectedFlag)
        self.byteSizeComboBox.setEnabled(not isConnectedFlag)
        self.stopBitsLabel.setEnabled(not isConnectedFlag)
        self.stopBitsComboBox.setEnabled(not isConnectedFlag)

    def connectDisconnectDeviceAction(self):
        if self.device.isConnected:
            self.disConnectAction()
        else:
            self.connectAction()

    def connectAction(self):
        deviceConfig = self.getConfigValues()
        self.device.configureConnection(deviceConfig)
        self.device.connect(SimpleFOCDevice.ONLY_CONNECT)

    def disConnectAction(self):
        self.device.disConnect()