mirror of
https://github.com/nqrduck/nqrduck-autotm.git
synced 2024-12-21 15:20:27 +00:00
Implemented stepper select and homing.
This commit is contained in:
parent
9bd1852532
commit
67b21d27b7
5 changed files with 132 additions and 32 deletions
|
@ -98,7 +98,7 @@ class AutoTMController(ModuleController):
|
||||||
MAX_FREQUENCY = 200e6 # Hz
|
MAX_FREQUENCY = 200e6 # Hz
|
||||||
|
|
||||||
try:
|
try:
|
||||||
start_frequence = start_frequency.replace(",", ".")
|
start_frequency = start_frequency.replace(",", ".")
|
||||||
stop_frequency = stop_frequency.replace(",", ".")
|
stop_frequency = stop_frequency.replace(",", ".")
|
||||||
start_frequency = float(start_frequency) * 1e6
|
start_frequency = float(start_frequency) * 1e6
|
||||||
stop_frequency = float(stop_frequency) * 1e6
|
stop_frequency = float(stop_frequency) * 1e6
|
||||||
|
@ -264,6 +264,16 @@ class AutoTMController(ModuleController):
|
||||||
self.module.view.add_info_text("ATM Error: " + text[1:])
|
self.module.view.add_info_text("ATM Error: " + text[1:])
|
||||||
elif text.startswith("v"):
|
elif text.startswith("v"):
|
||||||
self.process_voltage_sweep_result(text)
|
self.process_voltage_sweep_result(text)
|
||||||
|
elif text.startswith("p"):
|
||||||
|
# Format is p<tuning_position>m<matching_position>
|
||||||
|
text = text[1:].split("m")
|
||||||
|
tuning_position, matching_position = map(int, text)
|
||||||
|
self.module.model.tuning_stepper.position = tuning_position
|
||||||
|
self.module.model.matching_stepper.position = matching_position
|
||||||
|
self.module.model.tuning_stepper.homed = True
|
||||||
|
self.module.model.matching_stepper.homed = True
|
||||||
|
logger.debug("Tuning position: %s, Matching position: %s", tuning_position, matching_position)
|
||||||
|
self.module.view.on_active_stepper_changed()
|
||||||
|
|
||||||
|
|
||||||
def on_short_calibration(
|
def on_short_calibration(
|
||||||
|
@ -609,3 +619,21 @@ class AutoTMController(ModuleController):
|
||||||
"""
|
"""
|
||||||
logger.debug("Homing")
|
logger.debug("Homing")
|
||||||
self.send_command("h")
|
self.send_command("h")
|
||||||
|
|
||||||
|
@pyqtSlot(str)
|
||||||
|
def on_stepper_changed(self, stepper: str) -> None:
|
||||||
|
"""This method is called when the stepper position is changed.
|
||||||
|
It sends the command to the atm system to change the stepper position.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
stepper (str): The stepper that is being changed. Either 'tuning' or 'matching'.
|
||||||
|
"""
|
||||||
|
logger.debug("Stepper %s changed", stepper)
|
||||||
|
stepper = stepper.lower()
|
||||||
|
if stepper == "tuning":
|
||||||
|
self.module.model.active_stepper = self.module.model.tuning_stepper
|
||||||
|
elif stepper == "matching":
|
||||||
|
self.module.model.active_stepper = self.module.model.matching_stepper
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -217,6 +217,12 @@ class LookupTable:
|
||||||
# Round to closest integer
|
# Round to closest integer
|
||||||
return int(round((frequency - self.start_frequency) / self.frequency_step))
|
return int(round((frequency - self.start_frequency) / self.frequency_step))
|
||||||
|
|
||||||
|
class Stepper:
|
||||||
|
|
||||||
|
def __init__(self) -> None:
|
||||||
|
self.homed = False
|
||||||
|
self.position = 0
|
||||||
|
|
||||||
class ElectricalLookupTable(LookupTable):
|
class ElectricalLookupTable(LookupTable):
|
||||||
TYPE = "Electrical"
|
TYPE = "Electrical"
|
||||||
|
|
||||||
|
@ -260,6 +266,7 @@ class AutoTMModel(ModuleModel):
|
||||||
available_devices_changed = pyqtSignal(list)
|
available_devices_changed = pyqtSignal(list)
|
||||||
serial_changed = pyqtSignal(QSerialPort)
|
serial_changed = pyqtSignal(QSerialPort)
|
||||||
data_points_changed = pyqtSignal(list)
|
data_points_changed = pyqtSignal(list)
|
||||||
|
active_stepper_changed = pyqtSignal(Stepper)
|
||||||
|
|
||||||
short_calibration_finished = pyqtSignal(S11Data)
|
short_calibration_finished = pyqtSignal(S11Data)
|
||||||
open_calibration_finished = pyqtSignal(S11Data)
|
open_calibration_finished = pyqtSignal(S11Data)
|
||||||
|
@ -273,6 +280,10 @@ class AutoTMModel(ModuleModel):
|
||||||
self.calibration = None
|
self.calibration = None
|
||||||
self.serial = None
|
self.serial = None
|
||||||
|
|
||||||
|
self.tuning_stepper = Stepper()
|
||||||
|
self.matching_stepper = Stepper()
|
||||||
|
self.active_stepper = self.tuning_stepper
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def available_devices(self):
|
def available_devices(self):
|
||||||
return self._available_devices
|
return self._available_devices
|
||||||
|
@ -318,6 +329,15 @@ class AutoTMModel(ModuleModel):
|
||||||
self._measurement = value
|
self._measurement = value
|
||||||
self.measurement_finished.emit(value)
|
self.measurement_finished.emit(value)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def active_stepper(self):
|
||||||
|
return self._active_stepper
|
||||||
|
|
||||||
|
@active_stepper.setter
|
||||||
|
def active_stepper(self, value):
|
||||||
|
self._active_stepper = value
|
||||||
|
self.active_stepper_changed.emit(value)
|
||||||
|
|
||||||
# Calibration properties
|
# Calibration properties
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
|
|
@ -152,7 +152,7 @@
|
||||||
<item>
|
<item>
|
||||||
<widget class="QTabWidget" name="typeTab">
|
<widget class="QTabWidget" name="typeTab">
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>1</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="mechTab">
|
<widget class="QWidget" name="mechTab">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
|
@ -160,8 +160,8 @@
|
||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout" stretch="0,1,0,0,0">
|
<layout class="QVBoxLayout" name="verticalLayout" stretch="0,1,0,0,0">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QGridLayout" name="gridLayout_4" rowstretch="0,0,0,0,0,0">
|
<layout class="QGridLayout" name="gridLayout_4" rowstretch="0,0,0,0,0,0,0">
|
||||||
<item row="4" column="1">
|
<item row="5" column="1">
|
||||||
<widget class="QPushButton" name="homeButton">
|
<widget class="QPushButton" name="homeButton">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Home</string>
|
<string>Home</string>
|
||||||
|
@ -181,6 +181,9 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="6" column="1">
|
||||||
|
<widget class="QSpinBox" name="absoluteposBox"/>
|
||||||
|
</item>
|
||||||
<item row="1" column="1">
|
<item row="1" column="1">
|
||||||
<widget class="QComboBox" name="stepperselectBox">
|
<widget class="QComboBox" name="stepperselectBox">
|
||||||
<item>
|
<item>
|
||||||
|
@ -195,14 +198,14 @@
|
||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="0">
|
<item row="5" column="0">
|
||||||
<widget class="QPushButton" name="decreaseButton">
|
<widget class="QPushButton" name="decreaseButton">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>-</string>
|
<string>-</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="2">
|
<item row="5" column="2">
|
||||||
<widget class="QPushButton" name="increaseButton">
|
<widget class="QPushButton" name="increaseButton">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>+</string>
|
<string>+</string>
|
||||||
|
@ -216,7 +219,14 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="1">
|
<item row="6" column="0">
|
||||||
|
<widget class="QLabel" name="label_20">
|
||||||
|
<property name="text">
|
||||||
|
<string>Absolute:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
<widget class="QSpinBox" name="stepsizeBox">
|
<widget class="QSpinBox" name="stepsizeBox">
|
||||||
<property name="minimum">
|
<property name="minimum">
|
||||||
<number>-1000</number>
|
<number>-1000</number>
|
||||||
|
@ -229,29 +239,33 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0">
|
<item row="3" column="0">
|
||||||
<widget class="QLabel" name="label_17">
|
<widget class="QLabel" name="label_17">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Step Size:</string>
|
<string>Step Size:</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="5" column="0">
|
<item row="6" column="2">
|
||||||
<widget class="QLabel" name="label_20">
|
|
||||||
<property name="text">
|
|
||||||
<string>Absolute:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="2">
|
|
||||||
<widget class="QPushButton" name="absoluteGoButton">
|
<widget class="QPushButton" name="absoluteGoButton">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Go</string>
|
<string>Go</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="5" column="1">
|
<item row="2" column="0">
|
||||||
<widget class="QSpinBox" name="absoluteposBox"/>
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="text">
|
||||||
|
<string>Position:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QLabel" name="stepperposLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>0</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
|
|
|
@ -39,6 +39,9 @@ class AutoTMView(ModuleView):
|
||||||
|
|
||||||
# Disable the connectButton while no devices are selected
|
# Disable the connectButton while no devices are selected
|
||||||
self._ui_form.connectButton.setDisabled(True)
|
self._ui_form.connectButton.setDisabled(True)
|
||||||
|
self._ui_form.decreaseButton.setEnabled(False)
|
||||||
|
self._ui_form.increaseButton.setEnabled(False)
|
||||||
|
self._ui_form.absoluteGoButton.setEnabled(False)
|
||||||
|
|
||||||
# On clicking of the refresh button scan for available usb devices
|
# On clicking of the refresh button scan for available usb devices
|
||||||
self._ui_form.refreshButton.clicked.connect(self.module.controller.find_devices)
|
self._ui_form.refreshButton.clicked.connect(self.module.controller.find_devices)
|
||||||
|
@ -111,6 +114,12 @@ class AutoTMView(ModuleView):
|
||||||
self._ui_form.startButton.setIcon(Logos.Play_16x16())
|
self._ui_form.startButton.setIcon(Logos.Play_16x16())
|
||||||
self._ui_form.startButton.setIconSize(self._ui_form.startButton.size())
|
self._ui_form.startButton.setIconSize(self._ui_form.startButton.size())
|
||||||
|
|
||||||
|
# Stepper selection
|
||||||
|
self._ui_form.stepperselectBox.currentIndexChanged.connect(lambda: self.module.controller.on_stepper_changed(self._ui_form.stepperselectBox.currentText()))
|
||||||
|
|
||||||
|
# Active stepper changed
|
||||||
|
self.module.model.active_stepper_changed.connect(self.on_active_stepper_changed)
|
||||||
|
|
||||||
self.init_plot()
|
self.init_plot()
|
||||||
self.init_labels()
|
self.init_labels()
|
||||||
|
|
||||||
|
@ -156,6 +165,10 @@ class AutoTMView(ModuleView):
|
||||||
self._ui_form.connectButton.setEnabled(False)
|
self._ui_form.connectButton.setEnabled(False)
|
||||||
logger.debug("Updated available devices list")
|
logger.debug("Updated available devices list")
|
||||||
|
|
||||||
|
def on_stepper_changed():
|
||||||
|
"""Update the stepper position label according to the current stepper position."""
|
||||||
|
logger.debug("Updating stepper position label")
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def on_connect_button_clicked(self) -> None:
|
def on_connect_button_clicked(self) -> None:
|
||||||
"""This method is called when the connect button is clicked.
|
"""This method is called when the connect button is clicked.
|
||||||
|
@ -184,6 +197,23 @@ class AutoTMView(ModuleView):
|
||||||
|
|
||||||
logger.debug("Updated serial connection label")
|
logger.debug("Updated serial connection label")
|
||||||
|
|
||||||
|
@pyqtSlot()
|
||||||
|
def on_active_stepper_changed(self) -> None:
|
||||||
|
"""Update the stepper position label according to the current stepper position."""
|
||||||
|
logger.debug("Updating stepper position label")
|
||||||
|
self._ui_form.stepperposLabel.setText(str(self.module.model.active_stepper.position))
|
||||||
|
logger.debug("Updated stepper position label")
|
||||||
|
|
||||||
|
# Only allow position change when stepper is homed
|
||||||
|
if self.module.model.active_stepper.homed:
|
||||||
|
self._ui_form.decreaseButton.setEnabled(True)
|
||||||
|
self._ui_form.increaseButton.setEnabled(True)
|
||||||
|
self._ui_form.absoluteGoButton.setEnabled(True)
|
||||||
|
else:
|
||||||
|
self._ui_form.decreaseButton.setEnabled(False)
|
||||||
|
self._ui_form.increaseButton.setEnabled(False)
|
||||||
|
self._ui_form.absoluteGoButton.setEnabled(False)
|
||||||
|
|
||||||
def plot_measurement(self, data: "S11Data") -> None:
|
def plot_measurement(self, data: "S11Data") -> None:
|
||||||
"""Update the S11 plot with the current data points.
|
"""Update the S11 plot with the current data points.
|
||||||
|
|
||||||
|
|
|
@ -99,7 +99,7 @@ class Ui_Form(object):
|
||||||
self.gridLayout_4.setObjectName("gridLayout_4")
|
self.gridLayout_4.setObjectName("gridLayout_4")
|
||||||
self.homeButton = QtWidgets.QPushButton(parent=self.mechTab)
|
self.homeButton = QtWidgets.QPushButton(parent=self.mechTab)
|
||||||
self.homeButton.setObjectName("homeButton")
|
self.homeButton.setObjectName("homeButton")
|
||||||
self.gridLayout_4.addWidget(self.homeButton, 4, 1, 1, 1)
|
self.gridLayout_4.addWidget(self.homeButton, 5, 1, 1, 1)
|
||||||
self.label_16 = QtWidgets.QLabel(parent=self.mechTab)
|
self.label_16 = QtWidgets.QLabel(parent=self.mechTab)
|
||||||
font = QtGui.QFont()
|
font = QtGui.QFont()
|
||||||
font.setBold(True)
|
font.setBold(True)
|
||||||
|
@ -107,6 +107,9 @@ class Ui_Form(object):
|
||||||
self.label_16.setFont(font)
|
self.label_16.setFont(font)
|
||||||
self.label_16.setObjectName("label_16")
|
self.label_16.setObjectName("label_16")
|
||||||
self.gridLayout_4.addWidget(self.label_16, 0, 0, 1, 3)
|
self.gridLayout_4.addWidget(self.label_16, 0, 0, 1, 3)
|
||||||
|
self.absoluteposBox = QtWidgets.QSpinBox(parent=self.mechTab)
|
||||||
|
self.absoluteposBox.setObjectName("absoluteposBox")
|
||||||
|
self.gridLayout_4.addWidget(self.absoluteposBox, 6, 1, 1, 1)
|
||||||
self.stepperselectBox = QtWidgets.QComboBox(parent=self.mechTab)
|
self.stepperselectBox = QtWidgets.QComboBox(parent=self.mechTab)
|
||||||
self.stepperselectBox.setObjectName("stepperselectBox")
|
self.stepperselectBox.setObjectName("stepperselectBox")
|
||||||
self.stepperselectBox.addItem("")
|
self.stepperselectBox.addItem("")
|
||||||
|
@ -114,31 +117,34 @@ class Ui_Form(object):
|
||||||
self.gridLayout_4.addWidget(self.stepperselectBox, 1, 1, 1, 1)
|
self.gridLayout_4.addWidget(self.stepperselectBox, 1, 1, 1, 1)
|
||||||
self.decreaseButton = QtWidgets.QPushButton(parent=self.mechTab)
|
self.decreaseButton = QtWidgets.QPushButton(parent=self.mechTab)
|
||||||
self.decreaseButton.setObjectName("decreaseButton")
|
self.decreaseButton.setObjectName("decreaseButton")
|
||||||
self.gridLayout_4.addWidget(self.decreaseButton, 4, 0, 1, 1)
|
self.gridLayout_4.addWidget(self.decreaseButton, 5, 0, 1, 1)
|
||||||
self.increaseButton = QtWidgets.QPushButton(parent=self.mechTab)
|
self.increaseButton = QtWidgets.QPushButton(parent=self.mechTab)
|
||||||
self.increaseButton.setObjectName("increaseButton")
|
self.increaseButton.setObjectName("increaseButton")
|
||||||
self.gridLayout_4.addWidget(self.increaseButton, 4, 2, 1, 1)
|
self.gridLayout_4.addWidget(self.increaseButton, 5, 2, 1, 1)
|
||||||
self.label_18 = QtWidgets.QLabel(parent=self.mechTab)
|
self.label_18 = QtWidgets.QLabel(parent=self.mechTab)
|
||||||
self.label_18.setObjectName("label_18")
|
self.label_18.setObjectName("label_18")
|
||||||
self.gridLayout_4.addWidget(self.label_18, 1, 0, 1, 1)
|
self.gridLayout_4.addWidget(self.label_18, 1, 0, 1, 1)
|
||||||
|
self.label_20 = QtWidgets.QLabel(parent=self.mechTab)
|
||||||
|
self.label_20.setObjectName("label_20")
|
||||||
|
self.gridLayout_4.addWidget(self.label_20, 6, 0, 1, 1)
|
||||||
self.stepsizeBox = QtWidgets.QSpinBox(parent=self.mechTab)
|
self.stepsizeBox = QtWidgets.QSpinBox(parent=self.mechTab)
|
||||||
self.stepsizeBox.setMinimum(-1000)
|
self.stepsizeBox.setMinimum(-1000)
|
||||||
self.stepsizeBox.setMaximum(1000)
|
self.stepsizeBox.setMaximum(1000)
|
||||||
self.stepsizeBox.setProperty("value", 500)
|
self.stepsizeBox.setProperty("value", 500)
|
||||||
self.stepsizeBox.setObjectName("stepsizeBox")
|
self.stepsizeBox.setObjectName("stepsizeBox")
|
||||||
self.gridLayout_4.addWidget(self.stepsizeBox, 2, 1, 1, 1)
|
self.gridLayout_4.addWidget(self.stepsizeBox, 3, 1, 1, 1)
|
||||||
self.label_17 = QtWidgets.QLabel(parent=self.mechTab)
|
self.label_17 = QtWidgets.QLabel(parent=self.mechTab)
|
||||||
self.label_17.setObjectName("label_17")
|
self.label_17.setObjectName("label_17")
|
||||||
self.gridLayout_4.addWidget(self.label_17, 2, 0, 1, 1)
|
self.gridLayout_4.addWidget(self.label_17, 3, 0, 1, 1)
|
||||||
self.label_20 = QtWidgets.QLabel(parent=self.mechTab)
|
|
||||||
self.label_20.setObjectName("label_20")
|
|
||||||
self.gridLayout_4.addWidget(self.label_20, 5, 0, 1, 1)
|
|
||||||
self.absoluteGoButton = QtWidgets.QPushButton(parent=self.mechTab)
|
self.absoluteGoButton = QtWidgets.QPushButton(parent=self.mechTab)
|
||||||
self.absoluteGoButton.setObjectName("absoluteGoButton")
|
self.absoluteGoButton.setObjectName("absoluteGoButton")
|
||||||
self.gridLayout_4.addWidget(self.absoluteGoButton, 5, 2, 1, 1)
|
self.gridLayout_4.addWidget(self.absoluteGoButton, 6, 2, 1, 1)
|
||||||
self.absoluteposBox = QtWidgets.QSpinBox(parent=self.mechTab)
|
self.label_4 = QtWidgets.QLabel(parent=self.mechTab)
|
||||||
self.absoluteposBox.setObjectName("absoluteposBox")
|
self.label_4.setObjectName("label_4")
|
||||||
self.gridLayout_4.addWidget(self.absoluteposBox, 5, 1, 1, 1)
|
self.gridLayout_4.addWidget(self.label_4, 2, 0, 1, 1)
|
||||||
|
self.stepperposLabel = QtWidgets.QLabel(parent=self.mechTab)
|
||||||
|
self.stepperposLabel.setObjectName("stepperposLabel")
|
||||||
|
self.gridLayout_4.addWidget(self.stepperposLabel, 2, 1, 1, 1)
|
||||||
self.verticalLayout.addLayout(self.gridLayout_4)
|
self.verticalLayout.addLayout(self.gridLayout_4)
|
||||||
self.positionButton = QtWidgets.QPushButton(parent=self.mechTab)
|
self.positionButton = QtWidgets.QPushButton(parent=self.mechTab)
|
||||||
self.positionButton.setObjectName("positionButton")
|
self.positionButton.setObjectName("positionButton")
|
||||||
|
@ -277,7 +283,7 @@ class Ui_Form(object):
|
||||||
self.horizontalLayout_2.setStretch(1, 1)
|
self.horizontalLayout_2.setStretch(1, 1)
|
||||||
|
|
||||||
self.retranslateUi(Form)
|
self.retranslateUi(Form)
|
||||||
self.typeTab.setCurrentIndex(1)
|
self.typeTab.setCurrentIndex(0)
|
||||||
QtCore.QMetaObject.connectSlotsByName(Form)
|
QtCore.QMetaObject.connectSlotsByName(Form)
|
||||||
|
|
||||||
def retranslateUi(self, Form):
|
def retranslateUi(self, Form):
|
||||||
|
@ -300,9 +306,11 @@ class Ui_Form(object):
|
||||||
self.decreaseButton.setText(_translate("Form", "-"))
|
self.decreaseButton.setText(_translate("Form", "-"))
|
||||||
self.increaseButton.setText(_translate("Form", "+"))
|
self.increaseButton.setText(_translate("Form", "+"))
|
||||||
self.label_18.setText(_translate("Form", "Stepper:"))
|
self.label_18.setText(_translate("Form", "Stepper:"))
|
||||||
self.label_17.setText(_translate("Form", "Step Size:"))
|
|
||||||
self.label_20.setText(_translate("Form", "Absolute:"))
|
self.label_20.setText(_translate("Form", "Absolute:"))
|
||||||
|
self.label_17.setText(_translate("Form", "Step Size:"))
|
||||||
self.absoluteGoButton.setText(_translate("Form", "Go"))
|
self.absoluteGoButton.setText(_translate("Form", "Go"))
|
||||||
|
self.label_4.setText(_translate("Form", "Position:"))
|
||||||
|
self.stepperposLabel.setText(_translate("Form", "0"))
|
||||||
self.positionButton.setText(_translate("Form", "Saved Positions"))
|
self.positionButton.setText(_translate("Form", "Saved Positions"))
|
||||||
self.mechLUTButton.setText(_translate("Form", "Generate LUT"))
|
self.mechLUTButton.setText(_translate("Form", "Generate LUT"))
|
||||||
self.viewmechLUTButton.setText(_translate("Form", "View LUT"))
|
self.viewmechLUTButton.setText(_translate("Form", "View LUT"))
|
||||||
|
|
Loading…
Reference in a new issue