User Interface Code

From Rsewiki
Revision as of 19:40, 6 December 2020 by S192320 (Talk | contribs)

Jump to: navigation, search

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'Regbot_V1_9.ui' # # Created by: PyQt5 UI code generator 5.13.2 # # WARNING! All changes made in this file will be lost!


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1122, 555) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.SidebarMenu = QtWidgets.QToolBox(self.centralwidget) self.SidebarMenu.setGeometry(QtCore.QRect(0, 0, 331, 721)) self.SidebarMenu.setAutoFillBackground(True) self.SidebarMenu.setObjectName("SidebarMenu") self.SidebarMenuPage1 = QtWidgets.QWidget() self.SidebarMenuPage1.setGeometry(QtCore.QRect(0, 0, 331, 640)) self.SidebarMenuPage1.setObjectName("SidebarMenuPage1") self.line = QtWidgets.QFrame(self.SidebarMenuPage1) self.line.setGeometry(QtCore.QRect(10, 220, 311, 21)) self.line.setFrameShape(QtWidgets.QFrame.HLine) self.line.setFrameShadow(QtWidgets.QFrame.Sunken) self.line.setObjectName("line") self.IP_Connect_frame = QtWidgets.QFrame(self.SidebarMenuPage1) self.IP_Connect_frame.setGeometry(QtCore.QRect(0, 0, 331, 111)) self.IP_Connect_frame.setAutoFillBackground(True) self.IP_Connect_frame.setFrameShape(QtWidgets.QFrame.StyledPanel) self.IP_Connect_frame.setFrameShadow(QtWidgets.QFrame.Raised) self.IP_Connect_frame.setObjectName("IP_Connect_frame") self.label_2 = QtWidgets.QLabel(self.IP_Connect_frame) self.label_2.setGeometry(QtCore.QRect(30, 90, 91, 16)) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.label_2.setFont(font) self.label_2.setObjectName("label_2") self.Disconnect_Cmd = QtWidgets.QPushButton(self.IP_Connect_frame) self.Disconnect_Cmd.setGeometry(QtCore.QRect(180, 60, 121, 23)) self.Disconnect_Cmd.setObjectName("Disconnect_Cmd") self.connect_Cmd = QtWidgets.QPushButton(self.IP_Connect_frame) self.connect_Cmd.setGeometry(QtCore.QRect(30, 60, 131, 23)) self.connect_Cmd.setObjectName("connect_Cmd") self.label = QtWidgets.QLabel(self.IP_Connect_frame) self.label.setGeometry(QtCore.QRect(120, 30, 61, 21)) self.label.setObjectName("label") self.IP_Adress_field = QtWidgets.QLineEdit(self.IP_Connect_frame) self.IP_Adress_field.setGeometry(QtCore.QRect(170, 30, 131, 20)) self.IP_Adress_field.setObjectName("IP_Adress_field") self.IP_NetworkStatus_label = QtWidgets.QLabel(self.IP_Connect_frame) self.IP_NetworkStatus_label.setGeometry(QtCore.QRect(140, 90, 141, 16)) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.IP_NetworkStatus_label.setFont(font) self.IP_NetworkStatus_label.setObjectName("IP_NetworkStatus_label") self.label_7 = QtWidgets.QLabel(self.IP_Connect_frame) self.label_7.setGeometry(QtCore.QRect(10, 10, 131, 16)) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.label_7.setFont(font) self.label_7.setObjectName("label_7") self.SidebarMenu.addItem(self.SidebarMenuPage1, "") self.SidebarMenuPage2 = QtWidgets.QWidget() self.SidebarMenuPage2.setGeometry(QtCore.QRect(0, 0, 331, 640)) self.SidebarMenuPage2.setObjectName("SidebarMenuPage2") self.TextCmd_field = QtWidgets.QLineEdit(self.SidebarMenuPage2) self.TextCmd_field.setGeometry(QtCore.QRect(10, 580, 311, 20)) self.TextCmd_field.setObjectName("TextCmd_field") self.send_Cmd = QtWidgets.QPushButton(self.SidebarMenuPage2) self.send_Cmd.setGeometry(QtCore.QRect(240, 610, 81, 23)) self.send_Cmd.setObjectName("send_Cmd") self.TX_checkBox = QtWidgets.QCheckBox(self.SidebarMenuPage2) self.TX_checkBox.setGeometry(QtCore.QRect(10, 610, 41, 17)) self.TX_checkBox.setObjectName("TX_checkBox") self.RX_checkBox = QtWidgets.QCheckBox(self.SidebarMenuPage2) self.RX_checkBox.setGeometry(QtCore.QRect(50, 610, 41, 17)) self.RX_checkBox.setObjectName("RX_checkBox") self.ConsoleHelp_Cmd = QtWidgets.QPushButton(self.SidebarMenuPage2) self.ConsoleHelp_Cmd.setGeometry(QtCore.QRect(150, 610, 81, 23)) self.ConsoleHelp_Cmd.setObjectName("ConsoleHelp_Cmd") self.CommandConsole_Window = QtWidgets.QPlainTextEdit(self.SidebarMenuPage2) self.CommandConsole_Window.setGeometry(QtCore.QRect(10, 0, 311, 571)) self.CommandConsole_Window.setAcceptDrops(False) self.CommandConsole_Window.setToolTip("") self.CommandConsole_Window.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded) self.CommandConsole_Window.setLineWrapMode(QtWidgets.QPlainTextEdit.NoWrap) self.CommandConsole_Window.setObjectName("CommandConsole_Window") self.ConsoleClear_Cmd = QtWidgets.QPushButton(self.SidebarMenuPage2) self.ConsoleClear_Cmd.setGeometry(QtCore.QRect(90, 610, 51, 23)) self.ConsoleClear_Cmd.setObjectName("ConsoleClear_Cmd") self.SidebarMenu.addItem(self.SidebarMenuPage2, "") self.SidebarMenuPage3 = QtWidgets.QWidget() self.SidebarMenuPage3.setGeometry(QtCore.QRect(0, 0, 331, 640)) self.SidebarMenuPage3.setObjectName("SidebarMenuPage3") self.main_start = QtWidgets.QPushButton(self.SidebarMenuPage3) self.main_start.setGeometry(QtCore.QRect(170, 60, 151, 23)) self.main_start.setObjectName("main_start") self.main_remote_ctrl = QtWidgets.QCheckBox(self.SidebarMenuPage3) self.main_remote_ctrl.setGeometry(QtCore.QRect(10, 30, 141, 17)) self.main_remote_ctrl.setTristate(True) self.main_remote_ctrl.setObjectName("main_remote_ctrl") self.main_stop = QtWidgets.QPushButton(self.SidebarMenuPage3) self.main_stop.setGeometry(QtCore.QRect(10, 60, 151, 23)) self.main_stop.setObjectName("main_stop") self.main_mission_state = QtWidgets.QCheckBox(self.SidebarMenuPage3) self.main_mission_state.setGeometry(QtCore.QRect(10, 10, 101, 17)) self.main_mission_state.setTristate(True) self.main_mission_state.setObjectName("main_mission_state") self.SidebarMenu.addItem(self.SidebarMenuPage3, "") self.tabWidget = QtWidgets.QTabWidget(self.centralwidget) self.tabWidget.setGeometry(QtCore.QRect(330, 0, 961, 721)) self.tabWidget.setAutoFillBackground(True) self.tabWidget.setObjectName("tabWidget") self.tab = QtWidgets.QWidget() self.tab.setObjectName("tab") self.MotorGUI_ctrl_frame = QtWidgets.QFrame(self.tab) self.MotorGUI_ctrl_frame.setGeometry(QtCore.QRect(0, 0, 321, 171)) self.MotorGUI_ctrl_frame.setFrameShape(QtWidgets.QFrame.StyledPanel) self.MotorGUI_ctrl_frame.setFrameShadow(QtWidgets.QFrame.Raised) self.MotorGUI_ctrl_frame.setObjectName("MotorGUI_ctrl_frame") self.label_5 = QtWidgets.QLabel(self.MotorGUI_ctrl_frame) self.label_5.setGeometry(QtCore.QRect(140, 100, 71, 21)) self.label_5.setObjectName("label_5") self.enableKeyboardRC_checkBox = QtWidgets.QCheckBox(self.MotorGUI_ctrl_frame) self.enableKeyboardRC_checkBox.setGeometry(QtCore.QRect(150, 40, 141, 17)) self.enableKeyboardRC_checkBox.setObjectName("enableKeyboardRC_checkBox") self.guiRC_Reverse_Cmd = QtWidgets.QPushButton(self.MotorGUI_ctrl_frame) self.guiRC_Reverse_Cmd.setGeometry(QtCore.QRect(50, 110, 31, 31)) self.guiRC_Reverse_Cmd.setObjectName("guiRC_Reverse_Cmd") self.guiRC_Forward_Cmd = QtWidgets.QPushButton(self.MotorGUI_ctrl_frame) self.guiRC_Forward_Cmd.setGeometry(QtCore.QRect(50, 50, 31, 31)) self.guiRC_Forward_Cmd.setObjectName("guiRC_Forward_Cmd") self.manualGuiSpeed_Cmd = QtWidgets.QLineEdit(self.MotorGUI_ctrl_frame) self.manualGuiSpeed_Cmd.setGeometry(QtCore.QRect(220, 100, 51, 20)) self.manualGuiSpeed_Cmd.setObjectName("manualGuiSpeed_Cmd") self.enableGuiRC_checkBox = QtWidgets.QCheckBox(self.MotorGUI_ctrl_frame) self.enableGuiRC_checkBox.setGeometry(QtCore.QRect(150, 60, 111, 17)) self.enableGuiRC_checkBox.setObjectName("enableGuiRC_checkBox") self.guiRC_Right_Cmd = QtWidgets.QPushButton(self.MotorGUI_ctrl_frame) self.guiRC_Right_Cmd.setGeometry(QtCore.QRect(80, 80, 31, 31)) self.guiRC_Right_Cmd.setObjectName("guiRC_Right_Cmd") self.guiRC_Left_Cmd = QtWidgets.QPushButton(self.MotorGUI_ctrl_frame) self.guiRC_Left_Cmd.setGeometry(QtCore.QRect(20, 80, 31, 31)) self.guiRC_Left_Cmd.setObjectName("guiRC_Left_Cmd") self.label_8 = QtWidgets.QLabel(self.MotorGUI_ctrl_frame) self.label_8.setGeometry(QtCore.QRect(10, 10, 151, 16)) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.label_8.setFont(font) self.label_8.setObjectName("label_8") self.frame = QtWidgets.QFrame(self.tab) self.frame.setGeometry(QtCore.QRect(0, 170, 321, 321)) self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame.setFrameShadow(QtWidgets.QFrame.Raised) self.frame.setObjectName("frame") self.label_9 = QtWidgets.QLabel(self.frame) self.label_9.setGeometry(QtCore.QRect(10, 10, 201, 16)) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.label_9.setFont(font) self.label_9.setObjectName("label_9") self.label_21 = QtWidgets.QLabel(self.frame) self.label_21.setGeometry(QtCore.QRect(10, 149, 91, 21)) self.label_21.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_21.setObjectName("label_21") self.Robot_WheelRadius_Right = QtWidgets.QDoubleSpinBox(self.frame) self.Robot_WheelRadius_Right.setGeometry(QtCore.QRect(109, 230, 71, 21)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(2) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.Robot_WheelRadius_Right.sizePolicy().hasHeightForWidth()) self.Robot_WheelRadius_Right.setSizePolicy(sizePolicy) self.Robot_WheelRadius_Right.setMinimumSize(QtCore.QSize(0, 0))

self.Robot_WheelRadius_Right.setToolTip("<html><head/><body>

Wheel radius

</body></html>")

self.Robot_WheelRadius_Right.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.Robot_WheelRadius_Right.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.Robot_WheelRadius_Right.setReadOnly(False) self.Robot_WheelRadius_Right.setDecimals(4) self.Robot_WheelRadius_Right.setMinimum(0.001) self.Robot_WheelRadius_Right.setMaximum(0.99) self.Robot_WheelRadius_Right.setSingleStep(0.001) self.Robot_WheelRadius_Right.setProperty("value", 0.03) self.Robot_WheelRadius_Right.setObjectName("Robot_WheelRadius_Right") self.Robot_WheelRadius_Left = QtWidgets.QDoubleSpinBox(self.frame) self.Robot_WheelRadius_Left.setGeometry(QtCore.QRect(109, 190, 71, 21)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(2) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.Robot_WheelRadius_Left.sizePolicy().hasHeightForWidth()) self.Robot_WheelRadius_Left.setSizePolicy(sizePolicy) self.Robot_WheelRadius_Left.setMinimumSize(QtCore.QSize(0, 0))

self.Robot_WheelRadius_Left.setToolTip("<html><head/><body>

Wheel radius

</body></html>")

self.Robot_WheelRadius_Left.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.Robot_WheelRadius_Left.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.Robot_WheelRadius_Left.setReadOnly(False) self.Robot_WheelRadius_Left.setDecimals(4) self.Robot_WheelRadius_Left.setMinimum(0.001) self.Robot_WheelRadius_Left.setMaximum(0.99) self.Robot_WheelRadius_Left.setSingleStep(0.001) self.Robot_WheelRadius_Left.setProperty("value", 0.03) self.Robot_WheelRadius_Left.setObjectName("Robot_WheelRadius_Left") self.label_22 = QtWidgets.QLabel(self.frame) self.label_22.setGeometry(QtCore.QRect(10, 118, 91, 23)) self.label_22.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_22.setObjectName("label_22") self.Robot_GearRatio = QtWidgets.QDoubleSpinBox(self.frame) self.Robot_GearRatio.setGeometry(QtCore.QRect(110, 120, 71, 21)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(2) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.Robot_GearRatio.sizePolicy().hasHeightForWidth()) self.Robot_GearRatio.setSizePolicy(sizePolicy) self.Robot_GearRatio.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.Robot_GearRatio.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.Robot_GearRatio.setReadOnly(False) self.Robot_GearRatio.setDecimals(3) self.Robot_GearRatio.setMaximum(999.99) self.Robot_GearRatio.setSingleStep(0.001) self.Robot_GearRatio.setProperty("value", 9.68) self.Robot_GearRatio.setObjectName("Robot_GearRatio") self.label_24 = QtWidgets.QLabel(self.frame) self.label_24.setGeometry(QtCore.QRect(10, 169, 121, 20)) self.label_24.setAlignment(QtCore.Qt.AlignCenter) self.label_24.setObjectName("label_24") self.label_127 = QtWidgets.QLabel(self.frame) self.label_127.setGeometry(QtCore.QRect(50, 30, 51, 20)) self.label_127.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_127.setObjectName("label_127") self.Robot_WheelBase = QtWidgets.QDoubleSpinBox(self.frame) self.Robot_WheelBase.setGeometry(QtCore.QRect(110, 90, 71, 21)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(2) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.Robot_WheelBase.sizePolicy().hasHeightForWidth()) self.Robot_WheelBase.setSizePolicy(sizePolicy)

self.Robot_WheelBase.setToolTip("<html><head/><body>

Distance between drivng wheels (0.155m)

</body></html>")

self.Robot_WheelBase.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.Robot_WheelBase.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.Robot_WheelBase.setReadOnly(False) self.Robot_WheelBase.setDecimals(4) self.Robot_WheelBase.setMaximum(5.0) self.Robot_WheelBase.setSingleStep(0.01) self.Robot_WheelBase.setProperty("value", 0.155) self.Robot_WheelBase.setObjectName("Robot_WheelBase") self.label_128 = QtWidgets.QLabel(self.frame) self.label_128.setGeometry(QtCore.QRect(50, 60, 51, 20)) self.label_128.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_128.setObjectName("label_128") self.label_25 = QtWidgets.QLabel(self.frame) self.label_25.setGeometry(QtCore.QRect(20, 90, 81, 21)) self.label_25.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_25.setObjectName("label_25") self.RobotID = QtWidgets.QDoubleSpinBox(self.frame) self.RobotID.setEnabled(True) self.RobotID.setGeometry(QtCore.QRect(110, 31, 71, 21)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(2) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.RobotID.sizePolicy().hasHeightForWidth()) self.RobotID.setSizePolicy(sizePolicy)

self.RobotID.setToolTip("<html><head/><body>

This is the ID of the robot [1..9999].

To change the ID of robot:
change ID,
click "save",
click "save on robot".

Change ID to -1 to revert to factory settings.
And then change ID back to right value

</body></html>")

self.RobotID.setStatusTip("") self.RobotID.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.RobotID.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.RobotID.setReadOnly(False) self.RobotID.setSpecialValueText("") self.RobotID.setSuffix("") self.RobotID.setDecimals(0) self.RobotID.setMinimum(-2.0) self.RobotID.setMaximum(10000.0) self.RobotID.setObjectName("RobotID") self.RobotHW_type = QtWidgets.QDoubleSpinBox(self.frame) self.RobotHW_type.setEnabled(True) self.RobotHW_type.setGeometry(QtCore.QRect(110, 60, 71, 21)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(2) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.RobotHW_type.sizePolicy().hasHeightForWidth()) self.RobotHW_type.setSizePolicy(sizePolicy)

self.RobotHW_type.setToolTip("<html><head/><body>

The hardware version

1 = old version with no wifi nor line sensor plugs on main board and round power supply plug on main board.

2 = more plugs and satellite PCB for power management and wifi.

3 = power management and on-off switch on-board (big motor controller board)

4 = same as 3, but with small motor controller board.

5 = same as 2, but updated with new sattelite boards (power and wifi) etc.

6 = hardware version 4 (motor controller integrated on board)

To change:
click edit
change HW setting,
click "save",
click "save to flash".

(ID must be > 0)

</body></html>")

self.RobotHW_type.setStatusTip("") self.RobotHW_type.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.RobotHW_type.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.RobotHW_type.setReadOnly(False) self.RobotHW_type.setSpecialValueText("") self.RobotHW_type.setSuffix("") self.RobotHW_type.setDecimals(0) self.RobotHW_type.setMinimum(-2.0) self.RobotHW_type.setMaximum(10.0) self.RobotHW_type.setObjectName("RobotHW_type") self.Robot_PulsePerRev = QtWidgets.QDoubleSpinBox(self.frame) self.Robot_PulsePerRev.setGeometry(QtCore.QRect(110, 150, 71, 21)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(2) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.Robot_PulsePerRev.sizePolicy().hasHeightForWidth()) self.Robot_PulsePerRev.setSizePolicy(sizePolicy) self.Robot_PulsePerRev.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.Robot_PulsePerRev.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.Robot_PulsePerRev.setReadOnly(False) self.Robot_PulsePerRev.setDecimals(0) self.Robot_PulsePerRev.setMinimum(1.0) self.Robot_PulsePerRev.setMaximum(1000.0) self.Robot_PulsePerRev.setProperty("value", 48.0) self.Robot_PulsePerRev.setObjectName("Robot_PulsePerRev") self.label_26 = QtWidgets.QLabel(self.frame) self.label_26.setGeometry(QtCore.QRect(10, 210, 121, 20)) self.label_26.setAlignment(QtCore.Qt.AlignCenter) self.label_26.setObjectName("label_26") self.Robot_RevEncoder_Right = QtWidgets.QCheckBox(self.frame) self.Robot_RevEncoder_Right.setGeometry(QtCore.QRect(190, 90, 131, 21)) self.Robot_RevEncoder_Right.setObjectName("Robot_RevEncoder_Right") self.Robot_RevMotor = QtWidgets.QCheckBox(self.frame) self.Robot_RevMotor.setGeometry(QtCore.QRect(190, 33, 92, 16)) self.Robot_RevMotor.setObjectName("Robot_RevMotor") self.Robot_RevEncoder_Left = QtWidgets.QCheckBox(self.frame) self.Robot_RevEncoder_Left.setGeometry(QtCore.QRect(190, 60, 131, 21)) self.Robot_RevEncoder_Left.setObjectName("Robot_RevEncoder_Left") self.Robot_BatteryIdleVolts = QtWidgets.QDoubleSpinBox(self.frame) self.Robot_BatteryIdleVolts.setGeometry(QtCore.QRect(110, 290, 71, 21)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(2) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.Robot_BatteryIdleVolts.sizePolicy().hasHeightForWidth()) self.Robot_BatteryIdleVolts.setSizePolicy(sizePolicy) self.Robot_BatteryIdleVolts.setMinimumSize(QtCore.QSize(0, 0))

self.Robot_BatteryIdleVolts.setToolTip("<html><head/><body>

Go idle when battery voltage is below this level.

For a 3 cell LiPo battery it should go in idle mode at 3 x 3.2V = 9.6V

At 10V about 10% capacity is left before battery destruction, and in idle mode the robot uses about 30mA, so battey will selfdestruct after another about 3 hours.

So remember to switch off and to recharge.

</body></html>")

self.Robot_BatteryIdleVolts.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.Robot_BatteryIdleVolts.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.Robot_BatteryIdleVolts.setReadOnly(False) self.Robot_BatteryIdleVolts.setDecimals(1) self.Robot_BatteryIdleVolts.setMinimum(9.0) self.Robot_BatteryIdleVolts.setMaximum(17.0) self.Robot_BatteryIdleVolts.setSingleStep(0.1) self.Robot_BatteryIdleVolts.setProperty("value", 9.9) self.Robot_BatteryIdleVolts.setObjectName("Robot_BatteryIdleVolts") self.label_222 = QtWidgets.QLabel(self.frame) self.label_222.setGeometry(QtCore.QRect(20, 290, 81, 20)) self.label_222.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_222.setObjectName("label_222") self.save_id_on_robot = QtWidgets.QPushButton(self.frame) self.save_id_on_robot.setEnabled(False) self.save_id_on_robot.setGeometry(QtCore.QRect(210, 230, 92, 23))

self.save_id_on_robot.setToolTip("<html><head/><body>

Save ID and robot specific settings (this frame) on robot.
NB! you need to press "save on robot" in configuration block to save into EE-prom (flash)

</body></html>")

self.save_id_on_robot.setCheckable(False) self.save_id_on_robot.setChecked(False) self.save_id_on_robot.setObjectName("save_id_on_robot") self.label_129 = QtWidgets.QLabel(self.frame) self.label_129.setGeometry(QtCore.QRect(10, 265, 91, 21)) self.label_129.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_129.setObjectName("label_129") self.Robot_BalanceOffset = QtWidgets.QDoubleSpinBox(self.frame) self.Robot_BalanceOffset.setGeometry(QtCore.QRect(110, 263, 71, 21)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(2) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.Robot_BalanceOffset.sizePolicy().hasHeightForWidth()) self.Robot_BalanceOffset.setSizePolicy(sizePolicy)

self.Robot_BalanceOffset.setToolTip("<html><head/><body>

Balance offset - where center of gravity (COG) is just above support point (wheels).

Angle is in radians.

Positive is tilt forward.

</body></html>")

self.Robot_BalanceOffset.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.Robot_BalanceOffset.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.Robot_BalanceOffset.setReadOnly(False) self.Robot_BalanceOffset.setDecimals(4) self.Robot_BalanceOffset.setMinimum(-1.0) self.Robot_BalanceOffset.setMaximum(1.0) self.Robot_BalanceOffset.setSingleStep(0.001) self.Robot_BalanceOffset.setObjectName("Robot_BalanceOffset") self.Robot_edit = QtWidgets.QPushButton(self.frame) self.Robot_edit.setEnabled(True) self.Robot_edit.setGeometry(QtCore.QRect(210, 259, 92, 23))

self.Robot_edit.setToolTip("<html><head/><body>

Switch to edit mode - rather than listen to robot messages - for these fields.

</body></html>")

self.Robot_edit.setCheckable(False) self.Robot_edit.setChecked(False) self.Robot_edit.setObjectName("Robot_edit") self.Robot_OnBattery = QtWidgets.QCheckBox(self.frame) self.Robot_OnBattery.setGeometry(QtCore.QRect(190, 120, 111, 21)) self.Robot_OnBattery.setObjectName("Robot_OnBattery") self.robot_cancel = QtWidgets.QPushButton(self.frame) self.robot_cancel.setEnabled(False) self.robot_cancel.setGeometry(QtCore.QRect(210, 288, 92, 23))

self.robot_cancel.setToolTip("<html><head/><body>

Revert to values on robot

</body></html>")

self.robot_cancel.setCheckable(False) self.robot_cancel.setChecked(False) self.robot_cancel.setObjectName("robot_cancel") self.tabWidget_2 = QtWidgets.QTabWidget(self.tab) self.tabWidget_2.setGeometry(QtCore.QRect(0, 490, 321, 211)) self.tabWidget_2.setObjectName("tabWidget_2") self.tab_6 = QtWidgets.QWidget() self.tab_6.setObjectName("tab_6") self.groupBox = QtWidgets.QGroupBox(self.tab_6) self.groupBox.setGeometry(QtCore.QRect(0, 0, 311, 181)) self.groupBox.setTitle("") self.groupBox.setObjectName("groupBox") self.Robot_CurrentLeft_Value = QtWidgets.QDoubleSpinBox(self.groupBox) self.Robot_CurrentLeft_Value.setGeometry(QtCore.QRect(110, 100, 71, 21)) self.Robot_CurrentLeft_Value.setMinimumSize(QtCore.QSize(0, 0)) self.Robot_CurrentLeft_Value.setStyleSheet("background-color: rgb(230,230,230);") self.Robot_CurrentLeft_Value.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.Robot_CurrentLeft_Value.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.Robot_CurrentLeft_Value.setReadOnly(True) self.Robot_CurrentLeft_Value.setButtonSymbols(QtWidgets.QAbstractSpinBox.NoButtons) self.Robot_CurrentLeft_Value.setDecimals(2) self.Robot_CurrentLeft_Value.setMinimum(-100000.0) self.Robot_CurrentLeft_Value.setMaximum(100000.0) self.Robot_CurrentLeft_Value.setObjectName("Robot_CurrentLeft_Value") self.Robot_Distance = QtWidgets.QDoubleSpinBox(self.groupBox) self.Robot_Distance.setGeometry(QtCore.QRect(110, 130, 71, 21)) self.Robot_Distance.setStyleSheet("background-color: rgb(230,230,230);") self.Robot_Distance.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.Robot_Distance.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.Robot_Distance.setReadOnly(True) self.Robot_Distance.setButtonSymbols(QtWidgets.QAbstractSpinBox.NoButtons) self.Robot_Distance.setDecimals(3) self.Robot_Distance.setMinimum(-999999.0) self.Robot_Distance.setMaximum(999999.99) self.Robot_Distance.setObjectName("Robot_Distance") self.label_36 = QtWidgets.QLabel(self.groupBox) self.label_36.setGeometry(QtCore.QRect(186, 24, 71, 16)) self.label_36.setAlignment(QtCore.Qt.AlignCenter) self.label_36.setObjectName("label_36") self.label_37 = QtWidgets.QLabel(self.groupBox) self.label_37.setGeometry(QtCore.QRect(106, 24, 71, 16)) self.label_37.setAlignment(QtCore.Qt.AlignCenter) self.label_37.setObjectName("label_37") self.label_42 = QtWidgets.QLabel(self.groupBox) self.label_42.setGeometry(QtCore.QRect(11, 100, 91, 16)) self.label_42.setMinimumSize(QtCore.QSize(0, 0)) self.label_42.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_42.setObjectName("label_42") self.Robot_EncLeft_Value = QtWidgets.QSpinBox(self.groupBox) self.Robot_EncLeft_Value.setGeometry(QtCore.QRect(110, 40, 71, 21)) self.Robot_EncLeft_Value.setMinimumSize(QtCore.QSize(0, 0)) self.Robot_EncLeft_Value.setStyleSheet("background-color: rgb(230,230,230);") self.Robot_EncLeft_Value.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.Robot_EncLeft_Value.setReadOnly(True) self.Robot_EncLeft_Value.setButtonSymbols(QtWidgets.QAbstractSpinBox.NoButtons) self.Robot_EncLeft_Value.setMinimum(-2147483647) self.Robot_EncLeft_Value.setMaximum(2147483647) self.Robot_EncLeft_Value.setObjectName("Robot_EncLeft_Value") self.Robot_CurrentRight_Value = QtWidgets.QDoubleSpinBox(self.groupBox) self.Robot_CurrentRight_Value.setGeometry(QtCore.QRect(190, 100, 71, 21)) self.Robot_CurrentRight_Value.setMinimumSize(QtCore.QSize(0, 0)) self.Robot_CurrentRight_Value.setStyleSheet("background-color: rgb(230,230,230);") self.Robot_CurrentRight_Value.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.Robot_CurrentRight_Value.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.Robot_CurrentRight_Value.setReadOnly(True) self.Robot_CurrentRight_Value.setButtonSymbols(QtWidgets.QAbstractSpinBox.NoButtons) self.Robot_CurrentRight_Value.setDecimals(2) self.Robot_CurrentRight_Value.setMinimum(-100000.0) self.Robot_CurrentRight_Value.setMaximum(100000.0) self.Robot_CurrentRight_Value.setObjectName("Robot_CurrentRight_Value") self.label_28 = QtWidgets.QLabel(self.groupBox) self.label_28.setGeometry(QtCore.QRect(11, 40, 91, 16)) self.label_28.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_28.setObjectName("label_28") self.label_38 = QtWidgets.QLabel(self.groupBox) self.label_38.setGeometry(QtCore.QRect(9, 5, 121, 21)) font = QtGui.QFont() font.setPointSize(10) font.setBold(True) font.setWeight(75) self.label_38.setFont(font) self.label_38.setObjectName("label_38") self.label_32 = QtWidgets.QLabel(self.groupBox) self.label_32.setGeometry(QtCore.QRect(10, 130, 91, 16)) self.label_32.setMinimumSize(QtCore.QSize(0, 0)) self.label_32.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_32.setObjectName("label_32") self.label_29 = QtWidgets.QLabel(self.groupBox) self.label_29.setGeometry(QtCore.QRect(1, 70, 101, 16)) self.label_29.setMinimumSize(QtCore.QSize(0, 0)) self.label_29.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_29.setObjectName("label_29") self.Robot_EncRight_Value = QtWidgets.QSpinBox(self.groupBox) self.Robot_EncRight_Value.setGeometry(QtCore.QRect(190, 40, 71, 21)) self.Robot_EncRight_Value.setMinimumSize(QtCore.QSize(0, 0)) self.Robot_EncRight_Value.setStyleSheet("background-color: rgb(230,230,230);") self.Robot_EncRight_Value.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.Robot_EncRight_Value.setReadOnly(True) self.Robot_EncRight_Value.setButtonSymbols(QtWidgets.QAbstractSpinBox.NoButtons) self.Robot_EncRight_Value.setMinimum(-2147483647) self.Robot_EncRight_Value.setMaximum(2147483647) self.Robot_EncRight_Value.setObjectName("Robot_EncRight_Value") self.Robot_WheelRightSpeed_Value = QtWidgets.QDoubleSpinBox(self.groupBox) self.Robot_WheelRightSpeed_Value.setGeometry(QtCore.QRect(190, 70, 71, 21)) self.Robot_WheelRightSpeed_Value.setMinimumSize(QtCore.QSize(0, 0)) self.Robot_WheelRightSpeed_Value.setStyleSheet("background-color: rgb(230,230,230);") self.Robot_WheelRightSpeed_Value.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.Robot_WheelRightSpeed_Value.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.Robot_WheelRightSpeed_Value.setReadOnly(True) self.Robot_WheelRightSpeed_Value.setButtonSymbols(QtWidgets.QAbstractSpinBox.NoButtons) self.Robot_WheelRightSpeed_Value.setDecimals(3) self.Robot_WheelRightSpeed_Value.setMinimum(-100000.0) self.Robot_WheelRightSpeed_Value.setMaximum(100000.0) self.Robot_WheelRightSpeed_Value.setObjectName("Robot_WheelRightSpeed_Value") self.Robot_WheelLeftSpeed_Value = QtWidgets.QDoubleSpinBox(self.groupBox) self.Robot_WheelLeftSpeed_Value.setGeometry(QtCore.QRect(110, 70, 71, 21)) self.Robot_WheelLeftSpeed_Value.setMinimumSize(QtCore.QSize(0, 0)) self.Robot_WheelLeftSpeed_Value.setStyleSheet("background-color: rgb(230,230,230);") self.Robot_WheelLeftSpeed_Value.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.Robot_WheelLeftSpeed_Value.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.Robot_WheelLeftSpeed_Value.setReadOnly(True) self.Robot_WheelLeftSpeed_Value.setButtonSymbols(QtWidgets.QAbstractSpinBox.NoButtons) self.Robot_WheelLeftSpeed_Value.setDecimals(3) self.Robot_WheelLeftSpeed_Value.setMinimum(-100000.0) self.Robot_WheelLeftSpeed_Value.setMaximum(100000.0) self.Robot_WheelLeftSpeed_Value.setObjectName("Robot_WheelLeftSpeed_Value") self.tabWidget_2.addTab(self.tab_6, "") self.tab_7 = QtWidgets.QWidget() self.tab_7.setObjectName("tab_7") self.groupBox_3 = QtWidgets.QGroupBox(self.tab_7) self.groupBox_3.setGeometry(QtCore.QRect(0, 0, 311, 181)) self.groupBox_3.setTitle("") self.groupBox_3.setObjectName("groupBox_3") self.Robot_TiltDegrees = QtWidgets.QDoubleSpinBox(self.groupBox_3) self.Robot_TiltDegrees.setGeometry(QtCore.QRect(190, 131, 71, 21)) self.Robot_TiltDegrees.setStyleSheet("background-color: rgb(230,230,230);") self.Robot_TiltDegrees.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.Robot_TiltDegrees.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.Robot_TiltDegrees.setReadOnly(True) self.Robot_TiltDegrees.setButtonSymbols(QtWidgets.QAbstractSpinBox.NoButtons) self.Robot_TiltDegrees.setDecimals(3) self.Robot_TiltDegrees.setMinimum(-999999.0) self.Robot_TiltDegrees.setMaximum(999999.99) self.Robot_TiltDegrees.setObjectName("Robot_TiltDegrees") self.label_76 = QtWidgets.QLabel(self.groupBox_3) self.label_76.setGeometry(QtCore.QRect(190, 80, 71, 21)) self.label_76.setAlignment(QtCore.Qt.AlignCenter) self.label_76.setObjectName("label_76") self.label_45 = QtWidgets.QLabel(self.groupBox_3) self.label_45.setGeometry(QtCore.QRect(10, 0, 271, 31)) font = QtGui.QFont() font.setPointSize(10) font.setBold(True) font.setWeight(75) self.label_45.setFont(font) self.label_45.setObjectName("label_45") self.Robot_PoseX = QtWidgets.QDoubleSpinBox(self.groupBox_3) self.Robot_PoseX.setGeometry(QtCore.QRect(100, 40, 81, 21)) self.Robot_PoseX.setMinimumSize(QtCore.QSize(0, 0)) self.Robot_PoseX.setStyleSheet("background-color: rgb(230,230,230);") self.Robot_PoseX.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.Robot_PoseX.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.Robot_PoseX.setReadOnly(True) self.Robot_PoseX.setButtonSymbols(QtWidgets.QAbstractSpinBox.NoButtons) self.Robot_PoseX.setDecimals(3) self.Robot_PoseX.setMinimum(-999999.0) self.Robot_PoseX.setMaximum(999999.99) self.Robot_PoseX.setObjectName("Robot_PoseX") self.Robot_PoseY = QtWidgets.QDoubleSpinBox(self.groupBox_3) self.Robot_PoseY.setGeometry(QtCore.QRect(100, 71, 81, 21)) self.Robot_PoseY.setStyleSheet("background-color: rgb(230,230,230);") self.Robot_PoseY.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.Robot_PoseY.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.Robot_PoseY.setReadOnly(True) self.Robot_PoseY.setButtonSymbols(QtWidgets.QAbstractSpinBox.NoButtons) self.Robot_PoseY.setDecimals(3) self.Robot_PoseY.setMinimum(-999999.0) self.Robot_PoseY.setMaximum(999999.99) self.Robot_PoseY.setObjectName("Robot_PoseY") self.Robot_PoseReset = QtWidgets.QPushButton(self.groupBox_3) self.Robot_PoseReset.setGeometry(QtCore.QRect(190, 40, 71, 21)) self.Robot_PoseReset.setToolTip("Reset robot pose and distance to 0.0") self.Robot_PoseReset.setObjectName("Robot_PoseReset") self.label_44 = QtWidgets.QLabel(self.groupBox_3) self.label_44.setGeometry(QtCore.QRect(20, 100, 71, 21)) self.label_44.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_44.setObjectName("label_44") self.label_34 = QtWidgets.QLabel(self.groupBox_3) self.label_34.setGeometry(QtCore.QRect(10, 40, 81, 21)) self.label_34.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_34.setObjectName("label_34") self.label_35 = QtWidgets.QLabel(self.groupBox_3) self.label_35.setGeometry(QtCore.QRect(20, 71, 71, 20)) self.label_35.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_35.setObjectName("label_35") self.Robot_Tilt = QtWidgets.QDoubleSpinBox(self.groupBox_3) self.Robot_Tilt.setGeometry(QtCore.QRect(100, 131, 81, 21)) self.Robot_Tilt.setStyleSheet("background-color: rgb(230,230,230);") self.Robot_Tilt.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.Robot_Tilt.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.Robot_Tilt.setReadOnly(True) self.Robot_Tilt.setButtonSymbols(QtWidgets.QAbstractSpinBox.NoButtons) self.Robot_Tilt.setDecimals(3) self.Robot_Tilt.setMinimum(-999999.0) self.Robot_Tilt.setMaximum(999999.99) self.Robot_Tilt.setObjectName("Robot_Tilt") self.Robot_PoseTheta = QtWidgets.QDoubleSpinBox(self.groupBox_3) self.Robot_PoseTheta.setGeometry(QtCore.QRect(100, 100, 81, 21)) self.Robot_PoseTheta.setStyleSheet("background-color: rgb(230,230,230);") self.Robot_PoseTheta.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.Robot_PoseTheta.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.Robot_PoseTheta.setReadOnly(True) self.Robot_PoseTheta.setButtonSymbols(QtWidgets.QAbstractSpinBox.NoButtons) self.Robot_PoseTheta.setDecimals(3) self.Robot_PoseTheta.setMinimum(-999999.0) self.Robot_PoseTheta.setMaximum(999999.99) self.Robot_PoseTheta.setObjectName("Robot_PoseTheta") self.Robot_PoseDegrees = QtWidgets.QDoubleSpinBox(self.groupBox_3) self.Robot_PoseDegrees.setGeometry(QtCore.QRect(190, 100, 71, 21)) self.Robot_PoseDegrees.setStyleSheet("background-color: rgb(230,230,230);") self.Robot_PoseDegrees.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.Robot_PoseDegrees.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.Robot_PoseDegrees.setReadOnly(True) self.Robot_PoseDegrees.setButtonSymbols(QtWidgets.QAbstractSpinBox.NoButtons) self.Robot_PoseDegrees.setDecimals(3) self.Robot_PoseDegrees.setMinimum(-999999.0) self.Robot_PoseDegrees.setMaximum(999999.99) self.Robot_PoseDegrees.setObjectName("Robot_PoseDegrees") self.label_125 = QtWidgets.QLabel(self.groupBox_3) self.label_125.setGeometry(QtCore.QRect(10, 130, 81, 21)) self.label_125.setMinimumSize(QtCore.QSize(0, 0)) self.label_125.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_125.setObjectName("label_125") self.tabWidget_2.addTab(self.tab_7, "") self.tabWidget.addTab(self.tab, "") self.tab_2 = QtWidgets.QWidget() self.tab_2.setObjectName("tab_2") self.frame_2 = QtWidgets.QFrame(self.tab_2) self.frame_2.setGeometry(QtCore.QRect(0, 0, 711, 421)) self.frame_2.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_2.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_2.setObjectName("frame_2") self.label_10 = QtWidgets.QLabel(self.frame_2) self.label_10.setGeometry(QtCore.QRect(10, 10, 101, 16)) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.label_10.setFont(font) self.label_10.setObjectName("label_10") self.enableLineSensor_checkBox = QtWidgets.QCheckBox(self.frame_2) self.enableLineSensor_checkBox.setGeometry(QtCore.QRect(10, 30, 111, 17)) self.enableLineSensor_checkBox.setObjectName("enableLineSensor_checkBox") self.frame_3 = QtWidgets.QFrame(self.frame_2) self.frame_3.setGeometry(QtCore.QRect(10, 50, 421, 231)) self.frame_3.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_3.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_3.setObjectName("frame_3") self.line_bar_1 = QtWidgets.QProgressBar(self.frame_3) self.line_bar_1.setGeometry(QtCore.QRect(10, 20, 16, 181)) self.line_bar_1.setMaximum(1000) self.line_bar_1.setProperty("value", 0) self.line_bar_1.setOrientation(QtCore.Qt.Vertical) self.line_bar_1.setTextDirection(QtWidgets.QProgressBar.TopToBottom) self.line_bar_1.setObjectName("line_bar_1") self.line_bar_4 = QtWidgets.QProgressBar(self.frame_3) self.line_bar_4.setGeometry(QtCore.QRect(70, 20, 16, 181)) self.line_bar_4.setMaximum(1000) self.line_bar_4.setProperty("value", 0) self.line_bar_4.setOrientation(QtCore.Qt.Vertical) self.line_bar_4.setTextDirection(QtWidgets.QProgressBar.TopToBottom) self.line_bar_4.setObjectName("line_bar_4") self.line_bar_6 = QtWidgets.QProgressBar(self.frame_3) self.line_bar_6.setGeometry(QtCore.QRect(110, 20, 16, 181)) self.line_bar_6.setMaximum(1000) self.line_bar_6.setProperty("value", 0) self.line_bar_6.setOrientation(QtCore.Qt.Vertical) self.line_bar_6.setTextDirection(QtWidgets.QProgressBar.TopToBottom) self.line_bar_6.setObjectName("line_bar_6") self.line_bar_5 = QtWidgets.QProgressBar(self.frame_3) self.line_bar_5.setGeometry(QtCore.QRect(90, 20, 16, 181)) self.line_bar_5.setMaximum(1000) self.line_bar_5.setProperty("value", 0) self.line_bar_5.setOrientation(QtCore.Qt.Vertical) self.line_bar_5.setTextDirection(QtWidgets.QProgressBar.TopToBottom) self.line_bar_5.setObjectName("line_bar_5") self.line_bar_3 = QtWidgets.QProgressBar(self.frame_3) self.line_bar_3.setGeometry(QtCore.QRect(50, 20, 16, 181)) self.line_bar_3.setMaximum(1000) self.line_bar_3.setProperty("value", 0) self.line_bar_3.setOrientation(QtCore.Qt.Vertical) self.line_bar_3.setTextDirection(QtWidgets.QProgressBar.TopToBottom) self.line_bar_3.setObjectName("line_bar_3") self.line_bar_7 = QtWidgets.QProgressBar(self.frame_3) self.line_bar_7.setGeometry(QtCore.QRect(130, 20, 16, 181)) self.line_bar_7.setMaximum(1000) self.line_bar_7.setProperty("value", 0) self.line_bar_7.setOrientation(QtCore.Qt.Vertical) self.line_bar_7.setTextDirection(QtWidgets.QProgressBar.TopToBottom) self.line_bar_7.setObjectName("line_bar_7") self.line_bar_2 = QtWidgets.QProgressBar(self.frame_3) self.line_bar_2.setGeometry(QtCore.QRect(30, 20, 16, 181)) self.line_bar_2.setMaximum(1000) self.line_bar_2.setProperty("value", 0) self.line_bar_2.setOrientation(QtCore.Qt.Vertical) self.line_bar_2.setTextDirection(QtWidgets.QProgressBar.TopToBottom) self.line_bar_2.setObjectName("line_bar_2") self.line_bar_8 = QtWidgets.QProgressBar(self.frame_3) self.line_bar_8.setGeometry(QtCore.QRect(150, 20, 16, 181)) self.line_bar_8.setMaximum(1000) self.line_bar_8.setProperty("value", 0) self.line_bar_8.setOrientation(QtCore.Qt.Vertical) self.line_bar_8.setTextDirection(QtWidgets.QProgressBar.TopToBottom) self.line_bar_8.setObjectName("line_bar_8") self.label_11 = QtWidgets.QLabel(self.frame_3) self.label_11.setGeometry(QtCore.QRect(10, 0, 151, 21)) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.label_11.setFont(font) self.label_11.setObjectName("label_11") self.label_12 = QtWidgets.QLabel(self.frame_3) self.label_12.setGeometry(QtCore.QRect(10, 200, 16, 21)) self.label_12.setLayoutDirection(QtCore.Qt.RightToLeft) self.label_12.setObjectName("label_12") self.label_13 = QtWidgets.QLabel(self.frame_3) self.label_13.setGeometry(QtCore.QRect(30, 200, 16, 21)) self.label_13.setObjectName("label_13") self.label_14 = QtWidgets.QLabel(self.frame_3) self.label_14.setGeometry(QtCore.QRect(110, 200, 16, 21)) self.label_14.setObjectName("label_14") self.label_15 = QtWidgets.QLabel(self.frame_3) self.label_15.setGeometry(QtCore.QRect(50, 200, 16, 21)) self.label_15.setObjectName("label_15") self.label_16 = QtWidgets.QLabel(self.frame_3) self.label_16.setGeometry(QtCore.QRect(70, 200, 16, 21)) self.label_16.setObjectName("label_16") self.label_17 = QtWidgets.QLabel(self.frame_3) self.label_17.setGeometry(QtCore.QRect(90, 200, 20, 21)) self.label_17.setObjectName("label_17") self.label_18 = QtWidgets.QLabel(self.frame_3) self.label_18.setGeometry(QtCore.QRect(130, 200, 16, 21)) self.label_18.setObjectName("label_18") self.label_19 = QtWidgets.QLabel(self.frame_3) self.label_19.setGeometry(QtCore.QRect(150, 200, 16, 21)) self.label_19.setObjectName("label_19") self.ls_right_side = QtWidgets.QDoubleSpinBox(self.frame_3) self.ls_right_side.setGeometry(QtCore.QRect(300, 170, 61, 21))

self.ls_right_side.setToolTip("<html><head/><body>

Position of right edge (cm)

</body></html>")

self.ls_right_side.setStyleSheet("background-color: rgb(230,230,230);") self.ls_right_side.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.ls_right_side.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ls_right_side.setReadOnly(True) self.ls_right_side.setButtonSymbols(QtWidgets.QAbstractSpinBox.NoButtons) self.ls_right_side.setSpecialValueText("") self.ls_right_side.setDecimals(3) self.ls_right_side.setMinimum(-100.0) self.ls_right_side.setMaximum(100.0) self.ls_right_side.setObjectName("ls_right_side") self.ls_left_side = QtWidgets.QDoubleSpinBox(self.frame_3) self.ls_left_side.setGeometry(QtCore.QRect(230, 170, 61, 21))

self.ls_left_side.setToolTip("<html><head/><body>

Position of left edge (cm)

</body></html>")

self.ls_left_side.setStyleSheet("background-color: rgb(230,230,230);") self.ls_left_side.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.ls_left_side.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ls_left_side.setReadOnly(True) self.ls_left_side.setButtonSymbols(QtWidgets.QAbstractSpinBox.NoButtons) self.ls_left_side.setSpecialValueText("") self.ls_left_side.setDecimals(3) self.ls_left_side.setMinimum(-100.0) self.ls_left_side.setMaximum(100.0) self.ls_left_side.setObjectName("ls_left_side") self.label_118 = QtWidgets.QLabel(self.frame_3) self.label_118.setGeometry(QtCore.QRect(230, 40, 61, 18)) self.label_118.setAlignment(QtCore.Qt.AlignCenter) self.label_118.setObjectName("label_118") self.ls_left_edge = QtWidgets.QProgressBar(self.frame_3) self.ls_left_edge.setEnabled(True) self.ls_left_edge.setGeometry(QtCore.QRect(240, 60, 41, 101)) self.ls_left_edge.setMinimum(-3) self.ls_left_edge.setMaximum(103) self.ls_left_edge.setProperty("value", 24) self.ls_left_edge.setTextVisible(False) self.ls_left_edge.setOrientation(QtCore.Qt.Vertical) self.ls_left_edge.setInvertedAppearance(False) self.ls_left_edge.setTextDirection(QtWidgets.QProgressBar.TopToBottom) self.ls_left_edge.setObjectName("ls_left_edge") self.ls_right_edge = QtWidgets.QProgressBar(self.frame_3) self.ls_right_edge.setGeometry(QtCore.QRect(310, 60, 41, 101)) self.ls_right_edge.setMinimum(-3) self.ls_right_edge.setMaximum(103) self.ls_right_edge.setProperty("value", 24) self.ls_right_edge.setTextVisible(False) self.ls_right_edge.setOrientation(QtCore.Qt.Vertical) self.ls_right_edge.setInvertedAppearance(False) self.ls_right_edge.setObjectName("ls_right_edge") self.label_121 = QtWidgets.QLabel(self.frame_3) self.label_121.setGeometry(QtCore.QRect(300, 40, 61, 18)) self.label_121.setAlignment(QtCore.Qt.AlignCenter) self.label_121.setObjectName("label_121") self.label_20 = QtWidgets.QLabel(self.frame_3) self.label_20.setGeometry(QtCore.QRect(180, 0, 101, 21)) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.label_20.setFont(font) self.label_20.setObjectName("label_20") self.label_27 = QtWidgets.QLabel(self.frame_3) self.label_27.setGeometry(QtCore.QRect(290, 20, 48, 20)) self.label_27.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_27.setObjectName("label_27") self.label_171 = QtWidgets.QLabel(self.frame_3) self.label_171.setGeometry(QtCore.QRect(176, 20, 48, 20)) self.label_171.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_171.setObjectName("label_171") self.ls_crossing_cnt = QtWidgets.QLineEdit(self.frame_3) self.ls_crossing_cnt.setGeometry(QtCore.QRect(344, 20, 54, 20)) self.ls_crossing_cnt.setStatusTip("") self.ls_crossing_cnt.setStyleSheet("background-color: rgb(230,230,230);") self.ls_crossing_cnt.setObjectName("ls_crossing_cnt") self.ls_line_valid_cnt = QtWidgets.QLineEdit(self.frame_3) self.ls_line_valid_cnt.setGeometry(QtCore.QRect(230, 20, 54, 20)) self.ls_line_valid_cnt.setStyleSheet("background-color: rgb(230,230,230);") self.ls_line_valid_cnt.setObjectName("ls_line_valid_cnt") self.groupBox_5 = QtWidgets.QGroupBox(self.frame_2) self.groupBox_5.setGeometry(QtCore.QRect(430, 10, 251, 361)) self.groupBox_5.setObjectName("groupBox_5") self.CalibrateWhite_Cmd = QtWidgets.QPushButton(self.groupBox_5) self.CalibrateWhite_Cmd.setGeometry(QtCore.QRect(20, 310, 101, 31)) self.CalibrateWhite_Cmd.setObjectName("CalibrateWhite_Cmd") self.label_217 = QtWidgets.QLabel(self.groupBox_5) self.label_217.setGeometry(QtCore.QRect(20, 75, 21, 16)) self.label_217.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_217.setObjectName("label_217") self.label_218 = QtWidgets.QLabel(self.groupBox_5) self.label_218.setGeometry(QtCore.QRect(20, 117, 21, 16)) self.label_218.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_218.setObjectName("label_218") self.label_219 = QtWidgets.QLabel(self.groupBox_5) self.label_219.setGeometry(QtCore.QRect(20, 159, 21, 16)) self.label_219.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_219.setObjectName("label_219") self.label_221 = QtWidgets.QLabel(self.groupBox_5) self.label_221.setGeometry(QtCore.QRect(20, 96, 21, 16)) self.label_221.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_221.setObjectName("label_221") self.label_223 = QtWidgets.QLabel(self.groupBox_5) self.label_223.setGeometry(QtCore.QRect(20, 138, 21, 16)) self.label_223.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_223.setObjectName("label_223") self.label_224 = QtWidgets.QLabel(self.groupBox_5) self.label_224.setGeometry(QtCore.QRect(20, 33, 21, 16)) self.label_224.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_224.setObjectName("label_224") self.label_225 = QtWidgets.QLabel(self.groupBox_5) self.label_225.setGeometry(QtCore.QRect(20, 180, 21, 16)) self.label_225.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_225.setObjectName("label_225") self.label_226 = QtWidgets.QLabel(self.groupBox_5) self.label_226.setGeometry(QtCore.QRect(20, 54, 21, 16)) self.label_226.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_226.setObjectName("label_226") self.ls_max_white_7 = QtWidgets.QLabel(self.groupBox_5) self.ls_max_white_7.setGeometry(QtCore.QRect(50, 159, 50, 15)) self.ls_max_white_7.setFrameShape(QtWidgets.QFrame.Panel) self.ls_max_white_7.setFrameShadow(QtWidgets.QFrame.Plain) self.ls_max_white_7.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ls_max_white_7.setObjectName("ls_max_white_7") self.ls_max_white_8 = QtWidgets.QLabel(self.groupBox_5) self.ls_max_white_8.setGeometry(QtCore.QRect(50, 180, 50, 15)) self.ls_max_white_8.setFrameShape(QtWidgets.QFrame.Panel) self.ls_max_white_8.setFrameShadow(QtWidgets.QFrame.Plain) self.ls_max_white_8.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ls_max_white_8.setObjectName("ls_max_white_8") self.ls_max_white_1 = QtWidgets.QLabel(self.groupBox_5) self.ls_max_white_1.setGeometry(QtCore.QRect(50, 33, 50, 15)) self.ls_max_white_1.setMinimumSize(QtCore.QSize(0, 0)) self.ls_max_white_1.setAutoFillBackground(False) self.ls_max_white_1.setFrameShape(QtWidgets.QFrame.Panel) self.ls_max_white_1.setFrameShadow(QtWidgets.QFrame.Plain) self.ls_max_white_1.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ls_max_white_1.setObjectName("ls_max_white_1") self.ls_max_white_3 = QtWidgets.QLabel(self.groupBox_5) self.ls_max_white_3.setGeometry(QtCore.QRect(50, 75, 50, 15)) self.ls_max_white_3.setFrameShape(QtWidgets.QFrame.Panel) self.ls_max_white_3.setFrameShadow(QtWidgets.QFrame.Plain) self.ls_max_white_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ls_max_white_3.setObjectName("ls_max_white_3") self.ls_max_white_5 = QtWidgets.QLabel(self.groupBox_5) self.ls_max_white_5.setGeometry(QtCore.QRect(50, 117, 50, 15)) self.ls_max_white_5.setFrameShape(QtWidgets.QFrame.Panel) self.ls_max_white_5.setFrameShadow(QtWidgets.QFrame.Plain) self.ls_max_white_5.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ls_max_white_5.setObjectName("ls_max_white_5") self.ls_max_white_2 = QtWidgets.QLabel(self.groupBox_5) self.ls_max_white_2.setGeometry(QtCore.QRect(50, 54, 50, 15)) self.ls_max_white_2.setFrameShape(QtWidgets.QFrame.Panel) self.ls_max_white_2.setFrameShadow(QtWidgets.QFrame.Plain) self.ls_max_white_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ls_max_white_2.setObjectName("ls_max_white_2") self.ls_max_white_4 = QtWidgets.QLabel(self.groupBox_5) self.ls_max_white_4.setGeometry(QtCore.QRect(50, 96, 50, 15)) self.ls_max_white_4.setFrameShape(QtWidgets.QFrame.Panel) self.ls_max_white_4.setFrameShadow(QtWidgets.QFrame.Plain) self.ls_max_white_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ls_max_white_4.setObjectName("ls_max_white_4") self.ls_max_white_6 = QtWidgets.QLabel(self.groupBox_5) self.ls_max_white_6.setGeometry(QtCore.QRect(50, 138, 50, 15)) self.ls_max_white_6.setFrameShape(QtWidgets.QFrame.Panel) self.ls_max_white_6.setFrameShadow(QtWidgets.QFrame.Plain) self.ls_max_white_6.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ls_max_white_6.setObjectName("ls_max_white_6") self.ls_max_black_5 = QtWidgets.QLabel(self.groupBox_5) self.ls_max_black_5.setGeometry(QtCore.QRect(150, 117, 50, 15)) self.ls_max_black_5.setFrameShape(QtWidgets.QFrame.Panel) self.ls_max_black_5.setFrameShadow(QtWidgets.QFrame.Plain) self.ls_max_black_5.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ls_max_black_5.setObjectName("ls_max_black_5") self.ls_max_black_4 = QtWidgets.QLabel(self.groupBox_5) self.ls_max_black_4.setGeometry(QtCore.QRect(150, 96, 50, 15)) self.ls_max_black_4.setFrameShape(QtWidgets.QFrame.Panel) self.ls_max_black_4.setFrameShadow(QtWidgets.QFrame.Plain) self.ls_max_black_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ls_max_black_4.setObjectName("ls_max_black_4") self.ls_max_black_8 = QtWidgets.QLabel(self.groupBox_5) self.ls_max_black_8.setGeometry(QtCore.QRect(150, 180, 50, 15)) self.ls_max_black_8.setFrameShape(QtWidgets.QFrame.Panel) self.ls_max_black_8.setFrameShadow(QtWidgets.QFrame.Plain) self.ls_max_black_8.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ls_max_black_8.setObjectName("ls_max_black_8") self.ls_max_black_1 = QtWidgets.QLabel(self.groupBox_5) self.ls_max_black_1.setGeometry(QtCore.QRect(150, 33, 50, 15)) self.ls_max_black_1.setMinimumSize(QtCore.QSize(0, 0)) self.ls_max_black_1.setFrameShape(QtWidgets.QFrame.Panel) self.ls_max_black_1.setFrameShadow(QtWidgets.QFrame.Plain) self.ls_max_black_1.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ls_max_black_1.setObjectName("ls_max_black_1") self.ls_max_black_2 = QtWidgets.QLabel(self.groupBox_5) self.ls_max_black_2.setGeometry(QtCore.QRect(150, 54, 50, 15)) self.ls_max_black_2.setFrameShape(QtWidgets.QFrame.Panel) self.ls_max_black_2.setFrameShadow(QtWidgets.QFrame.Plain) self.ls_max_black_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ls_max_black_2.setObjectName("ls_max_black_2") self.ls_max_black_3 = QtWidgets.QLabel(self.groupBox_5) self.ls_max_black_3.setGeometry(QtCore.QRect(150, 75, 50, 15)) self.ls_max_black_3.setFrameShape(QtWidgets.QFrame.Panel) self.ls_max_black_3.setFrameShadow(QtWidgets.QFrame.Plain) self.ls_max_black_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ls_max_black_3.setObjectName("ls_max_black_3") self.ls_max_black_6 = QtWidgets.QLabel(self.groupBox_5) self.ls_max_black_6.setGeometry(QtCore.QRect(150, 138, 50, 15)) self.ls_max_black_6.setFrameShape(QtWidgets.QFrame.Panel) self.ls_max_black_6.setFrameShadow(QtWidgets.QFrame.Plain) self.ls_max_black_6.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ls_max_black_6.setObjectName("ls_max_black_6") self.ls_max_black_7 = QtWidgets.QLabel(self.groupBox_5) self.ls_max_black_7.setGeometry(QtCore.QRect(150, 159, 50, 15)) self.ls_max_black_7.setFrameShape(QtWidgets.QFrame.Panel) self.ls_max_black_7.setFrameShadow(QtWidgets.QFrame.Plain) self.ls_max_black_7.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ls_max_black_7.setObjectName("ls_max_black_7") self.label_227 = QtWidgets.QLabel(self.groupBox_5) self.label_227.setGeometry(QtCore.QRect(50, 14, 51, 16)) self.label_227.setAlignment(QtCore.Qt.AlignCenter) self.label_227.setObjectName("label_227") self.CalibrateBlack_Cmd = QtWidgets.QPushButton(self.groupBox_5) self.CalibrateBlack_Cmd.setGeometry(QtCore.QRect(130, 310, 101, 31)) self.CalibrateBlack_Cmd.setObjectName("CalibrateBlack_Cmd") self.label_228 = QtWidgets.QLabel(self.groupBox_5) self.label_228.setGeometry(QtCore.QRect(150, 15, 51, 16)) self.label_228.setAlignment(QtCore.Qt.AlignCenter) self.label_228.setObjectName("label_228") self.ls_swap_left_right = QtWidgets.QCheckBox(self.groupBox_5) self.ls_swap_left_right.setGeometry(QtCore.QRect(140, 220, 81, 20)) self.ls_swap_left_right.setObjectName("ls_swap_left_right") self.ls_show_normalized = QtWidgets.QCheckBox(self.groupBox_5) self.ls_show_normalized.setGeometry(QtCore.QRect(30, 220, 101, 17)) self.ls_show_normalized.setObjectName("ls_show_normalized") self.label_23 = QtWidgets.QLabel(self.groupBox_5) self.label_23.setGeometry(QtCore.QRect(130, 240, 75, 21)) self.label_23.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_23.setObjectName("label_23") self.line_disp_max_value = QtWidgets.QSpinBox(self.groupBox_5) self.line_disp_max_value.setGeometry(QtCore.QRect(30, 260, 75, 20))

self.line_disp_max_value.setToolTip("<html><head/><body>

Maximum value used as 100% in bar display.

</body></html>")

self.line_disp_max_value.setStatusTip("") self.line_disp_max_value.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.line_disp_max_value.setMaximum(4250) self.line_disp_max_value.setSingleStep(256) self.line_disp_max_value.setProperty("value", 4096) self.line_disp_max_value.setObjectName("line_disp_max_value") self.label_156 = QtWidgets.QLabel(self.groupBox_5) self.label_156.setGeometry(QtCore.QRect(34, 240, 61, 20)) self.label_156.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_156.setObjectName("label_156") self.ls_crossing_detect = QtWidgets.QDoubleSpinBox(self.groupBox_5) self.ls_crossing_detect.setGeometry(QtCore.QRect(130, 260, 75, 20)) self.ls_crossing_detect.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ls_crossing_detect.setDecimals(1) self.ls_crossing_detect.setMinimum(2.0) self.ls_crossing_detect.setMaximum(8.0) self.ls_crossing_detect.setSingleStep(0.1) self.ls_crossing_detect.setProperty("value", 4.5) self.ls_crossing_detect.setObjectName("ls_crossing_detect") self.line_2 = QtWidgets.QFrame(self.groupBox_5) self.line_2.setGeometry(QtCore.QRect(20, 200, 211, 21)) self.line_2.setFrameShape(QtWidgets.QFrame.HLine) self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_2.setObjectName("line_2") self.line_3 = QtWidgets.QFrame(self.groupBox_5) self.line_3.setGeometry(QtCore.QRect(20, 290, 211, 21)) self.line_3.setFrameShape(QtWidgets.QFrame.HLine) self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_3.setObjectName("line_3") self.ls_power_high = QtWidgets.QCheckBox(self.frame_2) self.ls_power_high.setGeometry(QtCore.QRect(230, 30, 91, 17)) self.ls_power_high.setObjectName("ls_power_high") self.ls_line_white = QtWidgets.QCheckBox(self.frame_2) self.ls_line_white.setGeometry(QtCore.QRect(140, 30, 81, 17)) self.ls_line_white.setObjectName("ls_line_white") self.tabWidget.addTab(self.tab_2, "") self.tab_8 = QtWidgets.QWidget() self.tab_8.setObjectName("tab_8") self.frame_37 = QtWidgets.QFrame(self.tab_8) self.frame_37.setGeometry(QtCore.QRect(0, 0, 521, 291)) self.frame_37.setMinimumSize(QtCore.QSize(250, 0)) self.frame_37.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_37.setFrameShadow(QtWidgets.QFrame.Sunken) self.frame_37.setObjectName("frame_37") self.label_56 = QtWidgets.QLabel(self.frame_37) self.label_56.setGeometry(QtCore.QRect(10, 10, 104, 16)) font = QtGui.QFont() font.setPointSize(10) font.setBold(True) font.setWeight(75) self.label_56.setFont(font) self.label_56.setObjectName("label_56") self.ir_bar_1 = QtWidgets.QProgressBar(self.frame_37) self.ir_bar_1.setGeometry(QtCore.QRect(320, 200, 171, 41)) self.ir_bar_1.setMaximum(130000) self.ir_bar_1.setProperty("value", 0) self.ir_bar_1.setOrientation(QtCore.Qt.Horizontal) self.ir_bar_1.setTextDirection(QtWidgets.QProgressBar.TopToBottom) self.ir_bar_1.setFormat("") self.ir_bar_1.setObjectName("ir_bar_1") self.ir_bar_2 = QtWidgets.QProgressBar(self.frame_37) self.ir_bar_2.setGeometry(QtCore.QRect(280, 60, 41, 141)) self.ir_bar_2.setMaximum(130000) self.ir_bar_2.setProperty("value", 0) self.ir_bar_2.setOrientation(QtCore.Qt.Vertical) self.ir_bar_2.setTextDirection(QtWidgets.QProgressBar.TopToBottom) self.ir_bar_2.setFormat("") self.ir_bar_2.setObjectName("ir_bar_2") self.ir_d1_meters = QtWidgets.QLineEdit(self.frame_37) self.ir_d1_meters.setGeometry(QtCore.QRect(400, 170, 81, 20)) self.ir_d1_meters.setStyleSheet("background-color: rgb(230,230,230);") self.ir_d1_meters.setAlignment(QtCore.Qt.AlignCenter) self.ir_d1_meters.setObjectName("ir_d1_meters") self.label_279 = QtWidgets.QLabel(self.frame_37) self.label_279.setGeometry(QtCore.QRect(360, 170, 41, 20)) self.label_279.setMaximumSize(QtCore.QSize(16777215, 20)) self.label_279.setObjectName("label_279") self.label_281 = QtWidgets.QLabel(self.frame_37) self.label_281.setGeometry(QtCore.QRect(330, 140, 71, 18)) self.label_281.setMaximumSize(QtCore.QSize(16777215, 20)) self.label_281.setObjectName("label_281") self.ir_d1_raw = QtWidgets.QDoubleSpinBox(self.frame_37) self.ir_d1_raw.setGeometry(QtCore.QRect(400, 140, 81, 20))

self.ir_d1_raw.setToolTip("<html><head/><body>

Raw measured value 2Y0A21F sensor from A/D converter

</body></html>")

self.ir_d1_raw.setStyleSheet("background-color: rgb(230,230,230);") self.ir_d1_raw.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.ir_d1_raw.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ir_d1_raw.setReadOnly(True) self.ir_d1_raw.setButtonSymbols(QtWidgets.QAbstractSpinBox.NoButtons) self.ir_d1_raw.setSpecialValueText("") self.ir_d1_raw.setDecimals(0) self.ir_d1_raw.setMinimum(0.0) self.ir_d1_raw.setMaximum(1000000.0) self.ir_d1_raw.setObjectName("ir_d1_raw") self.label_287 = QtWidgets.QLabel(self.frame_37) self.label_287.setGeometry(QtCore.QRect(490, 170, 16, 16)) self.label_287.setObjectName("label_287") self.ir_d2_meters = QtWidgets.QLineEdit(self.frame_37) self.ir_d2_meters.setGeometry(QtCore.QRect(402, 90, 81, 20)) self.ir_d2_meters.setStyleSheet("background-color: rgb(230,230,230);") self.ir_d2_meters.setAlignment(QtCore.Qt.AlignCenter) self.ir_d2_meters.setObjectName("ir_d2_meters") self.label_280 = QtWidgets.QLabel(self.frame_37) self.label_280.setGeometry(QtCore.QRect(360, 90, 51, 20)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_280.sizePolicy().hasHeightForWidth()) self.label_280.setSizePolicy(sizePolicy) self.label_280.setMaximumSize(QtCore.QSize(16777215, 20)) self.label_280.setObjectName("label_280") self.ir_d2_raw = QtWidgets.QDoubleSpinBox(self.frame_37) self.ir_d2_raw.setGeometry(QtCore.QRect(400, 60, 81, 20))

self.ir_d2_raw.setToolTip("<html><head/><body>

Raw measured value 2Y0A21F sensor from A/D converter

</body></html>")

self.ir_d2_raw.setStyleSheet("background-color: rgb(230,230,230);") self.ir_d2_raw.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.ir_d2_raw.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ir_d2_raw.setReadOnly(True) self.ir_d2_raw.setButtonSymbols(QtWidgets.QAbstractSpinBox.NoButtons) self.ir_d2_raw.setSpecialValueText("") self.ir_d2_raw.setDecimals(0) self.ir_d2_raw.setMinimum(0.0) self.ir_d2_raw.setMaximum(1000000.0) self.ir_d2_raw.setObjectName("ir_d2_raw") self.label_282 = QtWidgets.QLabel(self.frame_37) self.label_282.setGeometry(QtCore.QRect(330, 60, 71, 18)) self.label_282.setMaximumSize(QtCore.QSize(16777215, 20)) self.label_282.setObjectName("label_282") self.label_288 = QtWidgets.QLabel(self.frame_37) self.label_288.setGeometry(QtCore.QRect(490, 90, 16, 16)) self.label_288.setObjectName("label_288") self.ir_d2_80cm = QtWidgets.QDoubleSpinBox(self.frame_37) self.ir_d2_80cm.setGeometry(QtCore.QRect(170, 200, 85, 20))

self.ir_d2_80cm.setToolTip("<html><head/><body>

Raw value at 50 cm from base of sensor (about 24000)

</body></html>")

self.ir_d2_80cm.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.ir_d2_80cm.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ir_d2_80cm.setReadOnly(False) self.ir_d2_80cm.setButtonSymbols(QtWidgets.QAbstractSpinBox.UpDownArrows) self.ir_d2_80cm.setSpecialValueText("") self.ir_d2_80cm.setDecimals(0) self.ir_d2_80cm.setMinimum(0.0) self.ir_d2_80cm.setMaximum(128000.0) self.ir_d2_80cm.setProperty("value", 24100.0) self.ir_d2_80cm.setObjectName("ir_d2_80cm") self.ir_d1_80cm = QtWidgets.QDoubleSpinBox(self.frame_37) self.ir_d1_80cm.setGeometry(QtCore.QRect(170, 148, 85, 20))

self.ir_d1_80cm.setToolTip("<html><head/><body>

Raw value at 50cm from base of sensor (about 24000)

</body></html>")

self.ir_d1_80cm.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.ir_d1_80cm.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ir_d1_80cm.setReadOnly(False) self.ir_d1_80cm.setButtonSymbols(QtWidgets.QAbstractSpinBox.UpDownArrows) self.ir_d1_80cm.setSpecialValueText("") self.ir_d1_80cm.setDecimals(0) self.ir_d1_80cm.setMinimum(0.0) self.ir_d1_80cm.setMaximum(128000.0) self.ir_d1_80cm.setProperty("value", 24100.0) self.ir_d1_80cm.setObjectName("ir_d1_80cm") self.ir_d2_20cm = QtWidgets.QDoubleSpinBox(self.frame_37) self.ir_d2_20cm.setGeometry(QtCore.QRect(170, 174, 85, 20))

self.ir_d2_20cm.setToolTip("<html><head/><body>

Raw value at 13 cm from base of sensor (about 80000)

</body></html>")

self.ir_d2_20cm.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.ir_d2_20cm.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ir_d2_20cm.setReadOnly(False) self.ir_d2_20cm.setButtonSymbols(QtWidgets.QAbstractSpinBox.UpDownArrows) self.ir_d2_20cm.setSpecialValueText("") self.ir_d2_20cm.setDecimals(0) self.ir_d2_20cm.setMinimum(0.0) self.ir_d2_20cm.setMaximum(128000.0) self.ir_d2_20cm.setProperty("value", 72300.0) self.ir_d2_20cm.setObjectName("ir_d2_20cm") self.label_284 = QtWidgets.QLabel(self.frame_37) self.label_284.setGeometry(QtCore.QRect(32, 148, 132, 20)) self.label_284.setMaximumSize(QtCore.QSize(16777215, 20)) self.label_284.setObjectName("label_284") self.label_286 = QtWidgets.QLabel(self.frame_37) self.label_286.setGeometry(QtCore.QRect(32, 174, 132, 20)) self.label_286.setMaximumSize(QtCore.QSize(16777215, 20)) self.label_286.setObjectName("label_286") self.label_285 = QtWidgets.QLabel(self.frame_37) self.label_285.setGeometry(QtCore.QRect(32, 200, 132, 20)) self.label_285.setMaximumSize(QtCore.QSize(16777215, 20)) self.label_285.setObjectName("label_285") self.label_283 = QtWidgets.QLabel(self.frame_37) self.label_283.setGeometry(QtCore.QRect(32, 122, 132, 20)) self.label_283.setMaximumSize(QtCore.QSize(16777215, 20)) self.label_283.setObjectName("label_283") self.ir_d1_20cm = QtWidgets.QDoubleSpinBox(self.frame_37) self.ir_d1_20cm.setGeometry(QtCore.QRect(170, 122, 85, 20))

self.ir_d1_20cm.setToolTip("<html><head/><body>

Raw value at 13 cm from base of sensor (about 80000)

</body></html>")

self.ir_d1_20cm.setLocale(QtCore.QLocale(QtCore.QLocale.C, QtCore.QLocale.AnyCountry)) self.ir_d1_20cm.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.ir_d1_20cm.setReadOnly(False) self.ir_d1_20cm.setButtonSymbols(QtWidgets.QAbstractSpinBox.UpDownArrows) self.ir_d1_20cm.setSpecialValueText("") self.ir_d1_20cm.setDecimals(0) self.ir_d1_20cm.setMinimum(0.0) self.ir_d1_20cm.setMaximum(128000.0) self.ir_d1_20cm.setProperty("value", 72000.0) self.ir_d1_20cm.setObjectName("ir_d1_20cm") self.checkBox_ir_use = QtWidgets.QCheckBox(self.frame_37) self.checkBox_ir_use.setGeometry(QtCore.QRect(30, 70, 132, 17)) self.checkBox_ir_use.setObjectName("checkBox_ir_use") self.checkBox_ir_installed = QtWidgets.QCheckBox(self.frame_37) self.checkBox_ir_installed.setGeometry(QtCore.QRect(30, 44, 111, 17)) self.checkBox_ir_installed.setObjectName("checkBox_ir_installed") self.label_277 = QtWidgets.QLabel(self.frame_37) self.label_277.setGeometry(QtCore.QRect(30, 100, 132, 13)) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.label_277.setFont(font) self.label_277.setObjectName("label_277") self.ir_apply = QtWidgets.QPushButton(self.frame_37) self.ir_apply.setGeometry(QtCore.QRect(170, 230, 85, 23)) self.ir_apply.setObjectName("ir_apply") self.label_278 = QtWidgets.QLabel(self.frame_37) self.label_278.setGeometry(QtCore.QRect(310, 30, 171, 16)) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.label_278.setFont(font) self.label_278.setObjectName("label_278") self.ir_edit = QtWidgets.QPushButton(self.frame_37) self.ir_edit.setGeometry(QtCore.QRect(30, 230, 132, 23)) self.ir_edit.setObjectName("ir_edit") self.ir_cancel = QtWidgets.QPushButton(self.frame_37) self.ir_cancel.setGeometry(QtCore.QRect(260, 230, 51, 23)) self.ir_cancel.setObjectName("ir_cancel") self.tabWidget.addTab(self.tab_8, "") self.tab_3 = QtWidgets.QWidget() self.tab_3.setObjectName("tab_3") self.frame_4 = QtWidgets.QFrame(self.tab_3) self.frame_4.setGeometry(QtCore.QRect(0, 0, 711, 691)) self.frame_4.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_4.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_4.setObjectName("frame_4") self.EnableCamera_checkBox = QtWidgets.QCheckBox(self.frame_4) self.EnableCamera_checkBox.setGeometry(QtCore.QRect(20, 20, 121, 17)) self.EnableCamera_checkBox.setObjectName("EnableCamera_checkBox") self.frame_5 = QtWidgets.QFrame(self.frame_4) self.frame_5.setGeometry(QtCore.QRect(10, 430, 461, 211)) self.frame_5.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_5.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_5.setObjectName("frame_5") self.Camera_Record_Cmd = QtWidgets.QPushButton(self.frame_5) self.Camera_Record_Cmd.setGeometry(QtCore.QRect(240, 10, 91, 23)) self.Camera_Record_Cmd.setObjectName("Camera_Record_Cmd") self.Camera_StopRecord_Cmd = QtWidgets.QPushButton(self.frame_5) self.Camera_StopRecord_Cmd.setGeometry(QtCore.QRect(340, 10, 91, 23)) self.Camera_StopRecord_Cmd.setObjectName("Camera_StopRecord_Cmd") self.Camera_Snapshot_Cmd = QtWidgets.QPushButton(self.frame_5) self.Camera_Snapshot_Cmd.setGeometry(QtCore.QRect(10, 10, 111, 23)) self.Camera_Snapshot_Cmd.setObjectName("Camera_Snapshot_Cmd") self.Camera_SnapFilename = QtWidgets.QLineEdit(self.frame_5) self.Camera_SnapFilename.setGeometry(QtCore.QRect(240, 70, 191, 20)) self.Camera_SnapFilename.setObjectName("Camera_SnapFilename") self.label_55 = QtWidgets.QLabel(self.frame_5) self.label_55.setGeometry(QtCore.QRect(240, 50, 121, 20)) self.label_55.setObjectName("label_55") self.Camera_SnapSave_Cmd = QtWidgets.QPushButton(self.frame_5) self.Camera_SnapSave_Cmd.setGeometry(QtCore.QRect(340, 100, 91, 23)) self.Camera_SnapSave_Cmd.setObjectName("Camera_SnapSave_Cmd") self.Snapshot_Label = QtWidgets.QLabel(self.frame_5) self.Snapshot_Label.setGeometry(QtCore.QRect(10, 40, 221, 161)) self.Snapshot_Label.setLayoutDirection(QtCore.Qt.LeftToRight) self.Snapshot_Label.setAutoFillBackground(True) self.Snapshot_Label.setFrameShape(QtWidgets.QFrame.Box) self.Snapshot_Label.setFrameShadow(QtWidgets.QFrame.Raised) self.Snapshot_Label.setLineWidth(-2) self.Snapshot_Label.setText("") self.Snapshot_Label.setScaledContents(True) self.Snapshot_Label.setIndent(0) self.Snapshot_Label.setObjectName("Snapshot_Label") self.VideoRecording_Label = QtWidgets.QLabel(self.frame_5) self.VideoRecording_Label.setGeometry(QtCore.QRect(240, 30, 71, 16)) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.VideoRecording_Label.setFont(font) self.VideoRecording_Label.setObjectName("VideoRecording_Label") self.Camera_ClearSnap_Cmd = QtWidgets.QPushButton(self.frame_5) self.Camera_ClearSnap_Cmd.setGeometry(QtCore.QRect(130, 10, 91, 23)) self.Camera_ClearSnap_Cmd.setObjectName("Camera_ClearSnap_Cmd") self.frame_6 = QtWidgets.QFrame(self.frame_4) self.frame_6.setGeometry(QtCore.QRect(10, 40, 561, 381)) self.frame_6.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_6.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_6.setObjectName("frame_6") self.Stream_Label = QtWidgets.QLabel(self.frame_6) self.Stream_Label.setGeometry(QtCore.QRect(10, 0, 541, 371)) self.Stream_Label.setText("") self.Stream_Label.setScaledContents(True) self.Stream_Label.setObjectName("Stream_Label") self.tabWidget.addTab(self.tab_3, "") self.tab_4 = QtWidgets.QWidget() self.tab_4.setObjectName("tab_4") self.frame_7 = QtWidgets.QFrame(self.tab_4) self.frame_7.setGeometry(QtCore.QRect(0, 0, 541, 631)) self.frame_7.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_7.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_7.setObjectName("frame_7") self.label_30 = QtWidgets.QLabel(self.frame_7) self.label_30.setGeometry(QtCore.QRect(10, 0, 151, 21)) font = QtGui.QFont() font.setPointSize(10) font.setBold(True) font.setWeight(75) self.label_30.setFont(font) self.label_30.setObjectName("label_30") self.enableServo1_checkBox = QtWidgets.QCheckBox(self.frame_7) self.enableServo1_checkBox.setGeometry(QtCore.QRect(10, 30, 111, 17)) self.enableServo1_checkBox.setObjectName("enableServo1_checkBox") self.enableServo2_checkBox = QtWidgets.QCheckBox(self.frame_7) self.enableServo2_checkBox.setGeometry(QtCore.QRect(10, 150, 111, 17)) self.enableServo2_checkBox.setObjectName("enableServo2_checkBox") self.enableServo3_checkBox = QtWidgets.QCheckBox(self.frame_7) self.enableServo3_checkBox.setGeometry(QtCore.QRect(10, 270, 111, 17)) self.enableServo3_checkBox.setObjectName("enableServo3_checkBox") self.Servo1_Pos_dial = QtWidgets.QDial(self.frame_7) self.Servo1_Pos_dial.setGeometry(QtCore.QRect(210, 50, 81, 81)) self.Servo1_Pos_dial.setMinimum(-920) self.Servo1_Pos_dial.setMaximum(920) self.Servo1_Pos_dial.setTracking(False) self.Servo1_Pos_dial.setObjectName("Servo1_Pos_dial") self.label_31 = QtWidgets.QLabel(self.frame_7) self.label_31.setGeometry(QtCore.QRect(10, 50, 81, 21)) font = QtGui.QFont() font.setBold(False) font.setWeight(50) self.label_31.setFont(font) self.label_31.setObjectName("label_31") self.servo1_current_pos = QtWidgets.QLineEdit(self.frame_7) self.servo1_current_pos.setGeometry(QtCore.QRect(100, 50, 91, 20)) self.servo1_current_pos.setStatusTip("") self.servo1_current_pos.setStyleSheet("background-color: rgb(230,230,230);") self.servo1_current_pos.setObjectName("servo1_current_pos") self.label_33 = QtWidgets.QLabel(self.frame_7) self.label_33.setGeometry(QtCore.QRect(10, 80, 91, 21)) font = QtGui.QFont() font.setBold(False) font.setWeight(50) self.label_33.setFont(font) self.label_33.setObjectName("label_33") self.manualServoPos1_Val = QtWidgets.QLineEdit(self.frame_7) self.manualServoPos1_Val.setGeometry(QtCore.QRect(100, 80, 91, 20)) self.manualServoPos1_Val.setObjectName("manualServoPos1_Val") self.manualServoPos1_Cmd = QtWidgets.QPushButton(self.frame_7) self.manualServoPos1_Cmd.setGeometry(QtCore.QRect(100, 110, 91, 23)) self.manualServoPos1_Cmd.setObjectName("manualServoPos1_Cmd") self.label_39 = QtWidgets.QLabel(self.frame_7) self.label_39.setGeometry(QtCore.QRect(220, 30, 61, 21)) font = QtGui.QFont() font.setBold(False) font.setWeight(50) self.label_39.setFont(font) self.label_39.setObjectName("label_39") self.Servo2_Pos_dial = QtWidgets.QDial(self.frame_7) self.Servo2_Pos_dial.setGeometry(QtCore.QRect(210, 170, 81, 81)) self.Servo2_Pos_dial.setMinimum(-920) self.Servo2_Pos_dial.setMaximum(920) self.Servo2_Pos_dial.setTracking(False) self.Servo2_Pos_dial.setObjectName("Servo2_Pos_dial") self.label_40 = QtWidgets.QLabel(self.frame_7) self.label_40.setGeometry(QtCore.QRect(220, 150, 61, 21)) font = QtGui.QFont() font.setBold(False) font.setWeight(50) self.label_40.setFont(font) self.label_40.setObjectName("label_40") self.manualServoPos2_Val = QtWidgets.QLineEdit(self.frame_7) self.manualServoPos2_Val.setGeometry(QtCore.QRect(100, 200, 91, 20)) self.manualServoPos2_Val.setObjectName("manualServoPos2_Val") self.servo2_current_pos = QtWidgets.QLineEdit(self.frame_7) self.servo2_current_pos.setGeometry(QtCore.QRect(100, 170, 91, 20)) self.servo2_current_pos.setStatusTip("") self.servo2_current_pos.setStyleSheet("background-color: rgb(230,230,230);") self.servo2_current_pos.setObjectName("servo2_current_pos") self.label_41 = QtWidgets.QLabel(self.frame_7) self.label_41.setGeometry(QtCore.QRect(10, 200, 91, 21)) font = QtGui.QFont() font.setBold(False) font.setWeight(50) self.label_41.setFont(font) self.label_41.setObjectName("label_41") self.manualServoPos2_Cmd = QtWidgets.QPushButton(self.frame_7) self.manualServoPos2_Cmd.setGeometry(QtCore.QRect(100, 230, 91, 23)) self.manualServoPos2_Cmd.setObjectName("manualServoPos2_Cmd") self.label_43 = QtWidgets.QLabel(self.frame_7) self.label_43.setGeometry(QtCore.QRect(10, 170, 81, 21)) font = QtGui.QFont() font.setBold(False) font.setWeight(50) self.label_43.setFont(font) self.label_43.setObjectName("label_43") self.Servo3_Pos_dial = QtWidgets.QDial(self.frame_7) self.Servo3_Pos_dial.setGeometry(QtCore.QRect(210, 290, 81, 81)) self.Servo3_Pos_dial.setMinimum(-920) self.Servo3_Pos_dial.setMaximum(920) self.Servo3_Pos_dial.setTracking(False) self.Servo3_Pos_dial.setObjectName("Servo3_Pos_dial") self.label_46 = QtWidgets.QLabel(self.frame_7) self.label_46.setGeometry(QtCore.QRect(220, 270, 61, 21)) font = QtGui.QFont() font.setBold(False) font.setWeight(50) self.label_46.setFont(font) self.label_46.setObjectName("label_46") self.manualServoPos3_Val = QtWidgets.QLineEdit(self.frame_7) self.manualServoPos3_Val.setGeometry(QtCore.QRect(100, 320, 91, 20)) self.manualServoPos3_Val.setObjectName("manualServoPos3_Val") self.servo3_current_pos = QtWidgets.QLineEdit(self.frame_7) self.servo3_current_pos.setGeometry(QtCore.QRect(100, 290, 91, 20)) self.servo3_current_pos.setStatusTip("") self.servo3_current_pos.setStyleSheet("background-color: rgb(230,230,230);") self.servo3_current_pos.setObjectName("servo3_current_pos") self.label_47 = QtWidgets.QLabel(self.frame_7) self.label_47.setGeometry(QtCore.QRect(10, 320, 91, 21)) font = QtGui.QFont() font.setBold(False) font.setWeight(50) self.label_47.setFont(font) self.label_47.setObjectName("label_47") self.manualServoPos3_Cmd = QtWidgets.QPushButton(self.frame_7) self.manualServoPos3_Cmd.setGeometry(QtCore.QRect(100, 350, 91, 23)) self.manualServoPos3_Cmd.setObjectName("manualServoPos3_Cmd") self.label_48 = QtWidgets.QLabel(self.frame_7) self.label_48.setGeometry(QtCore.QRect(10, 290, 81, 21)) font = QtGui.QFont() font.setBold(False) font.setWeight(50) self.label_48.setFont(font) self.label_48.setObjectName("label_48") self.enableServo4_checkBox = QtWidgets.QCheckBox(self.frame_7) self.enableServo4_checkBox.setGeometry(QtCore.QRect(10, 390, 111, 17)) self.enableServo4_checkBox.setObjectName("enableServo4_checkBox") self.Servo4_Pos_dial = QtWidgets.QDial(self.frame_7) self.Servo4_Pos_dial.setGeometry(QtCore.QRect(210, 410, 81, 81)) self.Servo4_Pos_dial.setMinimum(-920) self.Servo4_Pos_dial.setMaximum(920) self.Servo4_Pos_dial.setTracking(False) self.Servo4_Pos_dial.setObjectName("Servo4_Pos_dial") self.label_49 = QtWidgets.QLabel(self.frame_7) self.label_49.setGeometry(QtCore.QRect(220, 390, 61, 21)) font = QtGui.QFont() font.setBold(False) font.setWeight(50) self.label_49.setFont(font) self.label_49.setObjectName("label_49") self.manualServoPos4_Val = QtWidgets.QLineEdit(self.frame_7) self.manualServoPos4_Val.setGeometry(QtCore.QRect(100, 440, 91, 20)) self.manualServoPos4_Val.setObjectName("manualServoPos4_Val") self.servo4_current_pos = QtWidgets.QLineEdit(self.frame_7) self.servo4_current_pos.setGeometry(QtCore.QRect(100, 410, 91, 20)) self.servo4_current_pos.setStatusTip("") self.servo4_current_pos.setStyleSheet("background-color: rgb(230,230,230);") self.servo4_current_pos.setObjectName("servo4_current_pos") self.label_50 = QtWidgets.QLabel(self.frame_7) self.label_50.setGeometry(QtCore.QRect(10, 440, 91, 21)) font = QtGui.QFont() font.setBold(False) font.setWeight(50) self.label_50.setFont(font) self.label_50.setObjectName("label_50") self.manualServoPos4_Cmd = QtWidgets.QPushButton(self.frame_7) self.manualServoPos4_Cmd.setGeometry(QtCore.QRect(100, 470, 91, 23)) self.manualServoPos4_Cmd.setObjectName("manualServoPos4_Cmd") self.label_51 = QtWidgets.QLabel(self.frame_7) self.label_51.setGeometry(QtCore.QRect(10, 410, 81, 21)) font = QtGui.QFont() font.setBold(False) font.setWeight(50) self.label_51.setFont(font) self.label_51.setObjectName("label_51") self.enableServo5_checkBox = QtWidgets.QCheckBox(self.frame_7) self.enableServo5_checkBox.setGeometry(QtCore.QRect(10, 510, 111, 17)) self.enableServo5_checkBox.setObjectName("enableServo5_checkBox") self.Servo5_Pos_dial = QtWidgets.QDial(self.frame_7) self.Servo5_Pos_dial.setGeometry(QtCore.QRect(210, 530, 81, 81)) self.Servo5_Pos_dial.setMinimum(-920) self.Servo5_Pos_dial.setMaximum(920) self.Servo5_Pos_dial.setTracking(False) self.Servo5_Pos_dial.setObjectName("Servo5_Pos_dial") self.label_52 = QtWidgets.QLabel(self.frame_7) self.label_52.setGeometry(QtCore.QRect(220, 510, 61, 21)) font = QtGui.QFont() font.setBold(False) font.setWeight(50) self.label_52.setFont(font) self.label_52.setObjectName("label_52") self.manualServoPos5_Val = QtWidgets.QLineEdit(self.frame_7) self.manualServoPos5_Val.setGeometry(QtCore.QRect(100, 560, 91, 20)) self.manualServoPos5_Val.setObjectName("manualServoPos5_Val") self.servo5_current_pos = QtWidgets.QLineEdit(self.frame_7) self.servo5_current_pos.setGeometry(QtCore.QRect(100, 530, 91, 20)) self.servo5_current_pos.setStatusTip("") self.servo5_current_pos.setStyleSheet("background-color: rgb(230,230,230);") self.servo5_current_pos.setObjectName("servo5_current_pos") self.label_53 = QtWidgets.QLabel(self.frame_7) self.label_53.setGeometry(QtCore.QRect(10, 560, 91, 21)) font = QtGui.QFont() font.setBold(False) font.setWeight(50) self.label_53.setFont(font) self.label_53.setObjectName("label_53") self.manualServoPos5_Cmd = QtWidgets.QPushButton(self.frame_7) self.manualServoPos5_Cmd.setGeometry(QtCore.QRect(100, 590, 91, 23)) self.manualServoPos5_Cmd.setObjectName("manualServoPos5_Cmd") self.label_54 = QtWidgets.QLabel(self.frame_7) self.label_54.setGeometry(QtCore.QRect(10, 530, 81, 21)) font = QtGui.QFont() font.setBold(False) font.setWeight(50) self.label_54.setFont(font) self.label_54.setObjectName("label_54") self.Servo1Steering_checkBox = QtWidgets.QCheckBox(self.frame_7) self.Servo1Steering_checkBox.setGeometry(QtCore.QRect(110, 30, 111, 17)) self.Servo1Steering_checkBox.setObjectName("Servo1Steering_checkBox") self.val_servo1_offset = QtWidgets.QDoubleSpinBox(self.frame_7) self.val_servo1_offset.setGeometry(QtCore.QRect(300, 50, 81, 18)) self.val_servo1_offset.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.val_servo1_offset.setReadOnly(False) self.val_servo1_offset.setButtonSymbols(QtWidgets.QAbstractSpinBox.UpDownArrows) self.val_servo1_offset.setSpecialValueText("") self.val_servo1_offset.setDecimals(0) self.val_servo1_offset.setMinimum(-200.0) self.val_servo1_offset.setMaximum(200.0) self.val_servo1_offset.setSingleStep(0.01) self.val_servo1_offset.setProperty("value", 10.0) self.val_servo1_offset.setObjectName("val_servo1_offset") self.label_servo_6 = QtWidgets.QLabel(self.frame_7) self.label_servo_6.setGeometry(QtCore.QRect(310, 70, 75, 13)) self.label_servo_6.setAlignment(QtCore.Qt.AlignCenter) self.label_servo_6.setObjectName("label_servo_6") self.val_servo1_scale = QtWidgets.QDoubleSpinBox(self.frame_7) self.val_servo1_scale.setGeometry(QtCore.QRect(300, 130, 81, 18)) self.val_servo1_scale.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.val_servo1_scale.setReadOnly(False) self.val_servo1_scale.setButtonSymbols(QtWidgets.QAbstractSpinBox.UpDownArrows) self.val_servo1_scale.setSpecialValueText("") self.val_servo1_scale.setDecimals(1) self.val_servo1_scale.setMinimum(-180.0) self.val_servo1_scale.setMaximum(180.0) self.val_servo1_scale.setSingleStep(1.0) self.val_servo1_scale.setProperty("value", 160.0) self.val_servo1_scale.setObjectName("val_servo1_scale") self.label_servo_9 = QtWidgets.QLabel(self.frame_7) self.label_servo_9.setGeometry(QtCore.QRect(300, 110, 87, 13)) self.label_servo_9.setAlignment(QtCore.Qt.AlignCenter) self.label_servo_9.setObjectName("label_servo_9") self.label_servo_8 = QtWidgets.QLabel(self.frame_7) self.label_servo_8.setGeometry(QtCore.QRect(303, 31, 81, 13)) self.label_servo_8.setAlignment(QtCore.Qt.AlignCenter) self.label_servo_8.setObjectName("label_servo_8") self.val_steer_distance = QtWidgets.QDoubleSpinBox(self.frame_7) self.val_steer_distance.setGeometry(QtCore.QRect(300, 90, 81, 18)) self.val_steer_distance.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.val_steer_distance.setReadOnly(False) self.val_steer_distance.setButtonSymbols(QtWidgets.QAbstractSpinBox.NoButtons) self.val_steer_distance.setSpecialValueText("") self.val_steer_distance.setDecimals(3) self.val_steer_distance.setMinimum(-1.0) self.val_steer_distance.setMaximum(1.0) self.val_steer_distance.setSingleStep(0.01) self.val_steer_distance.setProperty("value", 0.16) self.val_steer_distance.setObjectName("val_steer_distance") self.tabWidget.addTab(self.tab_4, "") self.tab_5 = QtWidgets.QWidget() self.tab_5.setObjectName("tab_5") self.tabWidget.addTab(self.tab_5, "") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 1122, 21)) self.menubar.setObjectName("menubar") self.menuFile = QtWidgets.QMenu(self.menubar) self.menuFile.setObjectName("menuFile") self.menuHelp = QtWidgets.QMenu(self.menubar) self.menuHelp.setObjectName("menuHelp") self.menuTools = QtWidgets.QMenu(self.menubar) self.menuTools.setObjectName("menuTools") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.menubar.addAction(self.menuFile.menuAction()) self.menubar.addAction(self.menuTools.menuAction()) self.menubar.addAction(self.menuHelp.menuAction())

self.retranslateUi(MainWindow) self.tabWidget.setCurrentIndex(2) self.tabWidget_2.setCurrentIndex(0) QtCore.QMetaObject.connectSlotsByName(MainWindow)

def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.label_2.setText(_translate("MainWindow", "Network Status: ")) self.Disconnect_Cmd.setText(_translate("MainWindow", "Disconnect")) self.connect_Cmd.setText(_translate("MainWindow", "Connect")) self.label.setText(_translate("MainWindow", "IP adress:")) self.IP_NetworkStatus_label.setText(_translate("MainWindow", "Status")) self.label_7.setText(_translate("MainWindow", "INTERNET CONNECTION")) self.SidebarMenu.setItemText(self.SidebarMenu.indexOf(self.SidebarMenuPage1), _translate("MainWindow", "Robot Connection")) self.send_Cmd.setText(_translate("MainWindow", "Send")) self.TX_checkBox.setText(_translate("MainWindow", "TX")) self.RX_checkBox.setText(_translate("MainWindow", "RX")) self.ConsoleHelp_Cmd.setText(_translate("MainWindow", "Help")) self.ConsoleClear_Cmd.setText(_translate("MainWindow", "Clear")) self.SidebarMenu.setItemText(self.SidebarMenu.indexOf(self.SidebarMenuPage2), _translate("MainWindow", "Debugger")) self.main_start.setText(_translate("MainWindow", "Start"))

self.main_remote_ctrl.setToolTip(_translate("MainWindow", "<html><head/><body>

Remote control is active,

and mission paused.

</body></html>"))

self.main_remote_ctrl.setText(_translate("MainWindow", "Enable Remote-Control")) self.main_stop.setText(_translate("MainWindow", "Stop"))

self.main_mission_state.setToolTip(_translate("MainWindow", "<html><head/><body>

Shows that a mission is active.

Number is

0: not active

1: waiting 1 second to start

2: running mission line

6,7: listening to button (more button presses)

8: stop mission

</body></html>"))

self.main_mission_state.setText(_translate("MainWindow", "Enable Mission")) self.SidebarMenu.setItemText(self.SidebarMenu.indexOf(self.SidebarMenuPage3), _translate("MainWindow", "Mission")) self.label_5.setText(_translate("MainWindow", "Manual Speed:"))

self.enableKeyboardRC_checkBox.setToolTip(_translate("MainWindow", "<html><head/><body>

Enable Remote Keyboard control

</body></html>"))

self.enableKeyboardRC_checkBox.setText(_translate("MainWindow", "Enable keyboard control")) self.guiRC_Reverse_Cmd.setText(_translate("MainWindow", "V")) self.guiRC_Forward_Cmd.setText(_translate("MainWindow", "^"))

self.enableGuiRC_checkBox.setToolTip(_translate("MainWindow", "<html><head/><body>

Enable Remote - GUI control


</body></html>"))

self.enableGuiRC_checkBox.setText(_translate("MainWindow", "Enable GUI control")) self.guiRC_Right_Cmd.setText(_translate("MainWindow", ">")) self.guiRC_Left_Cmd.setText(_translate("MainWindow", "<")) self.label_8.setText(_translate("MainWindow", "Motor Remote GUI control")) self.label_9.setText(_translate("MainWindow", "Robot Motor hardware parameters"))

self.label_21.setToolTip(_translate("MainWindow", "<html><head/><body>

Number of encoder pulses on each motor revolution (normally 48)

</body></html>"))

self.label_21.setText(_translate("MainWindow", "Enc. pulse per rev:")) self.label_22.setText(_translate("MainWindow", "Gear ratio [N]:"))

self.Robot_GearRatio.setToolTip(_translate("MainWindow", "<html><head/><body>

Gear ratio from motor to wheel axle (9.68).

</body></html>"))

self.label_24.setText(_translate("MainWindow", "Wheel radius (Left) [m]:")) self.label_127.setText(_translate("MainWindow", "Robot ID:")) self.label_128.setText(_translate("MainWindow", "Hardware:"))

self.label_25.setToolTip(_translate("MainWindow", "<html><head/><body>

Wheel base is distance between wheels (mid-wheel to mid-wheel) for turn calculations.

</body></html>"))

self.label_25.setText(_translate("MainWindow", "Wheel-base [m]:"))

self.Robot_PulsePerRev.setToolTip(_translate("MainWindow", "<html><head/><body>

Number of encoder ticks per motor revolution (48)

</body></html>"))

self.label_26.setText(_translate("MainWindow", "Wheel radius (Right) [m]:"))

self.Robot_RevEncoder_Right.setToolTip(_translate("MainWindow", "<html><head/><body>

Checking this makes odometry go the other way, i.e. encoder pins swapped (right motor).

This should NOT be checked on normal REGBOT.

</body></html>"))

self.Robot_RevEncoder_Right.setText(_translate("MainWindow", "Reverse Right Encoder"))

self.Robot_RevMotor.setToolTip(_translate("MainWindow", "<html><head/><body>

Checking this makes wheels go the other way when orderd forward.

This should NOT be checked on normal REGBOT.

</body></html>"))

self.Robot_RevMotor.setText(_translate("MainWindow", "Reverse Motor"))

self.Robot_RevEncoder_Left.setToolTip(_translate("MainWindow", "<html><head/><body>

Checking this makes odometry go the other way, i.e. encoder pins swapped.

This should NOT be checked on normal REGBOT.

</body></html>"))

self.Robot_RevEncoder_Left.setText(_translate("MainWindow", "Reverse Left Encoder"))

self.label_222.setToolTip(_translate("MainWindow", "<html><head/><body>

Battery is assumed to be of type LiPo 3cell.


Any battery with a normal voltage between 9 and 15V should do.

</body></html>"))

self.label_222.setText(_translate("MainWindow", "Go idle at [V]:")) self.save_id_on_robot.setText(_translate("MainWindow", "Save")) self.label_129.setText(_translate("MainWindow", "Tilt offset [Rad]:")) self.Robot_edit.setText(_translate("MainWindow", "Edit")) self.Robot_OnBattery.setText(_translate("MainWindow", "Robot On Battery")) self.robot_cancel.setText(_translate("MainWindow", "Cancel")) self.label_36.setText(_translate("MainWindow", "Right")) self.label_37.setText(_translate("MainWindow", "Left")) self.label_42.setText(_translate("MainWindow", "Current [A]:")) self.label_28.setText(_translate("MainWindow", "Encoder:")) self.label_38.setText(_translate("MainWindow", "Drive information")) self.label_32.setText(_translate("MainWindow", "Distance [m]:")) self.label_29.setText(_translate("MainWindow", "Wheel Speed [m/s]:")) self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tab_6), _translate("MainWindow", "Drive Info")) self.label_76.setText(_translate("MainWindow", "degrees")) self.label_45.setText(_translate("MainWindow", "Pose (relative to starting/reset point)")) self.Robot_PoseReset.setText(_translate("MainWindow", "reset")) self.label_44.setText(_translate("MainWindow", "Heading [rad]:")) self.label_34.setText(_translate("MainWindow", "X (forward) [m]:")) self.label_35.setText(_translate("MainWindow", "Y (left) [m]:")) self.label_125.setText(_translate("MainWindow", "Tilt [rad]:")) self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tab_7), _translate("MainWindow", "Pose Info")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "Motor")) self.label_10.setText(_translate("MainWindow", "Line Sensor")) self.enableLineSensor_checkBox.setText(_translate("MainWindow", "Enable Line Sensor")) self.line_bar_1.setFormat(_translate("MainWindow", "%p%")) self.line_bar_4.setFormat(_translate("MainWindow", "%p%")) self.line_bar_6.setFormat(_translate("MainWindow", "%p%")) self.line_bar_5.setFormat(_translate("MainWindow", "%p%")) self.line_bar_3.setFormat(_translate("MainWindow", "%p%")) self.line_bar_7.setFormat(_translate("MainWindow", "%p%")) self.line_bar_2.setFormat(_translate("MainWindow", "%p%")) self.line_bar_8.setFormat(_translate("MainWindow", "%p%")) self.label_11.setText(_translate("MainWindow", "Sensor readings:")) self.label_12.setText(_translate("MainWindow", "L1")) self.label_13.setText(_translate("MainWindow", "L2")) self.label_14.setText(_translate("MainWindow", "L6")) self.label_15.setText(_translate("MainWindow", "L3")) self.label_16.setText(_translate("MainWindow", "L4")) self.label_17.setText(_translate("MainWindow", "L5")) self.label_18.setText(_translate("MainWindow", "L7")) self.label_19.setText(_translate("MainWindow", "L8")) self.label_118.setText(_translate("MainWindow", "Left edge"))

self.ls_left_edge.setToolTip(_translate("MainWindow", "<html><head/><body>

Left edge position

Gray if an edge is not detected

</body></html>")) self.ls_right_edge.setToolTip(_translate("MainWindow", "<html><head/><body>

Right edge position

Either no edge is valid or both are valid.

</body></html>"))

self.label_121.setText(_translate("MainWindow", "Right edge")) self.label_20.setText(_translate("MainWindow", "Edge Analysis:")) self.label_27.setText(_translate("MainWindow", "Crossing")) self.label_171.setText(_translate("MainWindow", "Line valid"))

self.ls_crossing_cnt.setToolTip(_translate("MainWindow", "<html><head/><body>

Value from 0 to 20.

0 = no crossing, 20 = crossing detected in 20ms.

Counts +1 when detection is above "Crossing det." value.
else -1.


</body></html>")) self.ls_line_valid_cnt.setToolTip(_translate("MainWindow", "<html><head/><body>

Value from 0 to 5.

0 = no line, 5=line seen in 5ms.


</body></html>"))

self.groupBox_5.setTitle(_translate("MainWindow", "Sensor Calibration")) self.CalibrateWhite_Cmd.setText(_translate("MainWindow", "Calibrate White")) self.label_217.setText(_translate("MainWindow", "L3")) self.label_218.setText(_translate("MainWindow", "L5")) self.label_219.setText(_translate("MainWindow", "L7")) self.label_221.setText(_translate("MainWindow", "L4")) self.label_223.setText(_translate("MainWindow", "L6")) self.label_224.setText(_translate("MainWindow", "L1")) self.label_225.setText(_translate("MainWindow", "L8")) self.label_226.setText(_translate("MainWindow", "L2")) self.ls_max_white_7.setText(_translate("MainWindow", "L1")) self.ls_max_white_8.setText(_translate("MainWindow", "L1")) self.ls_max_white_1.setText(_translate("MainWindow", "L1")) self.ls_max_white_3.setText(_translate("MainWindow", "L1")) self.ls_max_white_5.setText(_translate("MainWindow", "L1")) self.ls_max_white_2.setText(_translate("MainWindow", "L1")) self.ls_max_white_4.setText(_translate("MainWindow", "L1")) self.ls_max_white_6.setText(_translate("MainWindow", "L1")) self.ls_max_black_5.setText(_translate("MainWindow", "L1")) self.ls_max_black_4.setText(_translate("MainWindow", "L1")) self.ls_max_black_8.setText(_translate("MainWindow", "L1")) self.ls_max_black_1.setText(_translate("MainWindow", "L1")) self.ls_max_black_2.setText(_translate("MainWindow", "L1")) self.ls_max_black_3.setText(_translate("MainWindow", "L1")) self.ls_max_black_6.setText(_translate("MainWindow", "L1")) self.ls_max_black_7.setText(_translate("MainWindow", "L1")) self.label_227.setText(_translate("MainWindow", "White")) self.CalibrateBlack_Cmd.setText(_translate("MainWindow", "Calibrate Black ")) self.label_228.setText(_translate("MainWindow", "Black"))

self.ls_swap_left_right.setToolTip(_translate("MainWindow", "<html><head/><body>

Swap the detected left and right edge.

Check this if LED\'s are (mostly) in the forward (X) direction.

(Normally the LED end of the line sensor PCB is closer to driving wheel axis).

</body></html>"))

self.ls_swap_left_right.setText(_translate("MainWindow", "Swap Sides"))

self.ls_show_normalized.setToolTip(_translate("MainWindow", "<html><head/><body>

If line is not white (bright), then assumed black (dark)

The normalized value should be shown as 75%.

</body></html>"))

self.ls_show_normalized.setText(_translate("MainWindow", "Show normalized")) self.label_23.setText(_translate("MainWindow", "Crossing det.")) self.label_156.setText(_translate("MainWindow", "Max RAW"))

self.ls_crossing_detect.setToolTip(_translate("MainWindow", "<html><head/><body>

Distance between left and right edge in a 0 to 8 scale.

Value depends distance between edges with an extra value if width increse fast. Therefore the width can temorarily be higher than 6 (edge values are from -3 to 3)

this should make it easier to detect a crossing.

For Regbot in balance (and normal tape (38mm)), then about 4.8 cm to trigger crossing line.

For Robobot this could be as low as 3-4, as the linesensor is wider.

</body></html>")) self.ls_power_high.setToolTip(_translate("MainWindow", "<html><head/><body>

If not in auto mode, should the line sensor LED power be high (ca. 30mA), else low (ca 10mA)

</body></html>"))

self.ls_power_high.setText(_translate("MainWindow", "High power"))

self.ls_line_white.setToolTip(_translate("MainWindow", "<html><head/><body>

If line is not white (bright), then assumed black (dark)

</body></html>"))

self.ls_line_white.setText(_translate("MainWindow", "White line")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "Edge Detection")) self.label_56.setText(_translate("MainWindow", "Distance sensor")) self.label_279.setText(_translate("MainWindow", "D1 right")) self.label_281.setText(_translate("MainWindow", "D1 right RAW")) self.label_287.setText(_translate("MainWindow", "m")) self.label_280.setText(_translate("MainWindow", "D2 front")) self.label_282.setText(_translate("MainWindow", "D2 front RAW")) self.label_288.setText(_translate("MainWindow", "m")) self.label_284.setText(_translate("MainWindow", "D1 right (50cm)")) self.label_286.setText(_translate("MainWindow", "D2 front (13cm)")) self.label_285.setText(_translate("MainWindow", "D2 front (50cm)")) self.label_283.setText(_translate("MainWindow", "D1 right (13cm)"))

self.checkBox_ir_use.setToolTip(_translate("MainWindow", "<html><head/><body>

Should be turned on at power on (will be turned on automatically in missions that use the sensor - if installed). If not installed, then distance is 10m

</body></html>"))

self.checkBox_ir_use.setText(_translate("MainWindow", "Sensor Enable"))

self.checkBox_ir_installed.setToolTip(_translate("MainWindow", "<html><head/><body>

Is the sensor installed (can not be turned on if not installed)

</body></html>"))

self.checkBox_ir_installed.setText(_translate("MainWindow", "Sensor Installed")) self.label_277.setText(_translate("MainWindow", "Calibrate values (RAW)")) self.ir_apply.setText(_translate("MainWindow", "Apply")) self.label_278.setText(_translate("MainWindow", "Distance values (measured)")) self.ir_edit.setText(_translate("MainWindow", "Edit")) self.ir_cancel.setText(_translate("MainWindow", "Cancel")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_8), _translate("MainWindow", "IR Distance"))

self.EnableCamera_checkBox.setToolTip(_translate("MainWindow", "<html><head/><body>

To enable Camera stream, install mjpeg-streamer and run follwing commands:
cd mjpg-streamer/mjpg-streamer-experimental/

./mjpg_streamer -o "output_http.so -w ./www" -i "input_raspicam.so"

</body></html>"))

self.EnableCamera_checkBox.setText(_translate("MainWindow", "Enable Camera")) self.Camera_Record_Cmd.setText(_translate("MainWindow", "Record")) self.Camera_StopRecord_Cmd.setText(_translate("MainWindow", "Stop Recording")) self.Camera_Snapshot_Cmd.setText(_translate("MainWindow", "Take Snapshot")) self.label_55.setText(_translate("MainWindow", "Snapshot Save Filename")) self.Camera_SnapSave_Cmd.setText(_translate("MainWindow", "Save"))

self.VideoRecording_Label.setText(_translate("MainWindow", "<html><head/><body>

RECORDING...

</body></html>"))

self.Camera_ClearSnap_Cmd.setText(_translate("MainWindow", "Clear Snap")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("MainWindow", "Camera")) self.label_30.setText(_translate("MainWindow", "Servo Controls")) self.enableServo1_checkBox.setText(_translate("MainWindow", "Enable Servo 1")) self.enableServo2_checkBox.setText(_translate("MainWindow", "Enable Servo 2")) self.enableServo3_checkBox.setText(_translate("MainWindow", "Enable Servo 3")) self.label_31.setText(_translate("MainWindow", "Current Position"))

self.servo1_current_pos.setToolTip(_translate("MainWindow", "<html><head/><body>

Value from 0 to 20.

0 = no crossing, 20 = crossing detected in 20ms.

Counts +1 when detection is above "Crossing det." value.
else -1.


</body></html>"))

self.label_33.setText(_translate("MainWindow", "Command Position")) self.manualServoPos1_Cmd.setText(_translate("MainWindow", "Apply")) self.label_39.setText(_translate("MainWindow", "Position Dial")) self.label_40.setText(_translate("MainWindow", "Position Dial"))

self.servo2_current_pos.setToolTip(_translate("MainWindow", "<html><head/><body>

Value from 0 to 20.

0 = no crossing, 20 = crossing detected in 20ms.

Counts +1 when detection is above "Crossing det." value.
else -1.


</body></html>"))

self.label_41.setText(_translate("MainWindow", "Command Position")) self.manualServoPos2_Cmd.setText(_translate("MainWindow", "Apply")) self.label_43.setText(_translate("MainWindow", "Current Position")) self.label_46.setText(_translate("MainWindow", "Position Dial"))

self.servo3_current_pos.setToolTip(_translate("MainWindow", "<html><head/><body>

Value from 0 to 20.

0 = no crossing, 20 = crossing detected in 20ms.

Counts +1 when detection is above "Crossing det." value.
else -1.


</body></html>"))

self.label_47.setText(_translate("MainWindow", "Command Position")) self.manualServoPos3_Cmd.setText(_translate("MainWindow", "Apply")) self.label_48.setText(_translate("MainWindow", "Current Position")) self.enableServo4_checkBox.setText(_translate("MainWindow", "Enable Servo 4")) self.label_49.setText(_translate("MainWindow", "Position Dial"))

self.servo4_current_pos.setToolTip(_translate("MainWindow", "<html><head/><body>

Value from 0 to 20.

0 = no crossing, 20 = crossing detected in 20ms.

Counts +1 when detection is above "Crossing det." value.
else -1.


</body></html>"))

self.label_50.setText(_translate("MainWindow", "Command Position")) self.manualServoPos4_Cmd.setText(_translate("MainWindow", "Apply")) self.label_51.setText(_translate("MainWindow", "Current Position")) self.enableServo5_checkBox.setText(_translate("MainWindow", "Enable Servo 5")) self.label_52.setText(_translate("MainWindow", "Position Dial"))

self.servo5_current_pos.setToolTip(_translate("MainWindow", "<html><head/><body>

Value from 0 to 20.

0 = no crossing, 20 = crossing detected in 20ms.

Counts +1 when detection is above "Crossing det." value.
else -1.


</body></html>"))

self.label_53.setText(_translate("MainWindow", "Command Position")) self.manualServoPos5_Cmd.setText(_translate("MainWindow", "Apply")) self.label_54.setText(_translate("MainWindow", "Current Position")) self.Servo1Steering_checkBox.setText(_translate("MainWindow", "Enable Steering"))

self.val_servo1_offset.setToolTip(_translate("MainWindow", "<html><head/><body>

Steering offset to align steering wheel with straight forward.

Units is control units, i.e. about 50 is 5 degrees.

Zero offset means forward is 1.5ms pulse (center for servo)

</body></html>"))

self.label_servo_6.setText(_translate("MainWindow", "distance"))

self.val_servo1_scale.setToolTip(_translate("MainWindow", "<html><head/><body>

Servo angle change from 1ms to 2ms PWM pulse to servo.

(typically 160 deg for hitec7235 and 90 deg for "old" servos)

</body></html>"))

self.label_servo_9.setText(_translate("MainWindow", "scale")) self.label_servo_8.setText(_translate("MainWindow", "Offset"))

self.val_steer_distance.setToolTip(_translate("MainWindow", "<html><head/><body>

Distance from drive axle to steering wheel.

Positive is forward (front wheel). In meters.

Typically 0.16 m for ROBOBOT.

</body></html>"))

self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), _translate("MainWindow", "Servo")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_5), _translate("MainWindow", "Mission")) self.menuFile.setTitle(_translate("MainWindow", "File")) self.menuHelp.setTitle(_translate("MainWindow", "Help")) self.menuTools.setTitle(_translate("MainWindow", "Tools"))


if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) MainWindow = QtWidgets.QMainWindow() ui = Ui_MainWindow() ui.setupUi(MainWindow) MainWindow.show() sys.exit(app.exec_())

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox