Addd reading powers
This commit is contained in:
2
.idea/PowerUI.iml
generated
2
.idea/PowerUI.iml
generated
@ -4,7 +4,7 @@
|
|||||||
<content url="file://$MODULE_DIR$">
|
<content url="file://$MODULE_DIR$">
|
||||||
<excludeFolder url="file://$MODULE_DIR$/.venv" />
|
<excludeFolder url="file://$MODULE_DIR$/.venv" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="jdk" jdkName="Python 3.12 (PowerUI)" jdkType="Python SDK" />
|
<orderEntry type="jdk" jdkName="Python 3.13 (PowerUI_QT)" jdkType="Python SDK" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@ -3,5 +3,5 @@
|
|||||||
<component name="Black">
|
<component name="Black">
|
||||||
<option name="sdkName" value="Python 3.12 (PowerUI)" />
|
<option name="sdkName" value="Python 3.12 (PowerUI)" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.12 (PowerUI)" project-jdk-type="Python SDK" />
|
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.13 (PowerUI_QT)" project-jdk-type="Python SDK" />
|
||||||
</project>
|
</project>
|
@ -180,12 +180,15 @@ class ControllerInterface:
|
|||||||
targets = {
|
targets = {
|
||||||
"currents set": (0xBE, 0xEE),
|
"currents set": (0xBE, 0xEE),
|
||||||
"currents get": (0xBE, 0xEF),
|
"currents get": (0xBE, 0xEF),
|
||||||
"powers set": (0xBE, 0x10),
|
"powers": (0xBE, 0x10),
|
||||||
"powers get": (0xBE, 0x11),
|
# "address": (0xBF, 0x20),
|
||||||
"address": (0xBF, 0x20),
|
# "device info": (0xBF, 0x00),
|
||||||
"device info": (0xBF, 0x00),
|
# "device mode set": (0xBF, 0x10),
|
||||||
"device mode set": (0xBF, 0x10),
|
# "device mode get": (0xBF, 0x11),
|
||||||
"device mode get": (0xBF, 0x11),
|
"address": (0x00, 0xF0),
|
||||||
|
"device info": (0x00, 0x60),
|
||||||
|
"device mode set": (0x00, 0xE0),
|
||||||
|
"device mode get": (0x00, 0xE1),
|
||||||
}
|
}
|
||||||
|
|
||||||
# Currents #
|
# Currents #
|
||||||
@ -232,9 +235,9 @@ class ControllerInterface:
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
def readMode(self, mode_index: int) -> tuple:
|
def readMode(self, mode_index: int) -> tuple:
|
||||||
self.controller.readDop = True # READ MODE BUG FIX TODO
|
# self.controller.readDop = True # READ MODE BUG FIX TODO
|
||||||
data = self.sendPacketWithResponse(self.c_codes['get'], self.targets['device mode get'], [mode_index + 1])
|
data = self.sendPacketWithResponse(self.c_codes['get'], self.targets['device mode get'], [mode_index + 1])
|
||||||
self.controller.readDop = False # READ MODE BUG FIX TODO
|
# self.controller.readDop = False # READ MODE BUG FIX TODO
|
||||||
|
|
||||||
print('Read bytes:')
|
print('Read bytes:')
|
||||||
for i, b in enumerate(self.controller.read_buffer):
|
for i, b in enumerate(self.controller.read_buffer):
|
||||||
@ -276,10 +279,10 @@ class ControllerInterface:
|
|||||||
# Powers #
|
# Powers #
|
||||||
def writePowers(self, currents: list, voltages: list, power: int, koeffs: list, a_max: int) -> bool:
|
def writePowers(self, currents: list, voltages: list, power: int, koeffs: list, a_max: int) -> bool:
|
||||||
data = currents + voltages + [power] + koeffs + [a_max]
|
data = currents + voltages + [power] + koeffs + [a_max]
|
||||||
return self.sendPacket(self.c_codes['set'], self.targets['powers set'], data)
|
return self.sendPacket(self.c_codes['set'], self.targets['powers'], data)
|
||||||
|
|
||||||
def readPowers(self) -> list:
|
def readPowers(self) -> list:
|
||||||
return self.sendPacketWithResponse(self.c_codes['get'], self.targets['powers get'], [])
|
return self.sendPacketWithResponse(self.c_codes['get'], self.targets['powers'], [])
|
||||||
|
|
||||||
# source: https://stackoverflow.com/a/14224477
|
# source: https://stackoverflow.com/a/14224477
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
16
interface.py
16
interface.py
@ -38,6 +38,8 @@ check = tk.IntVar()
|
|||||||
|
|
||||||
|
|
||||||
def setStatus(new_status: str):
|
def setStatus(new_status: str):
|
||||||
|
print(f'New status: {new_status}')
|
||||||
|
|
||||||
status.set(new_status)
|
status.set(new_status)
|
||||||
win.update()
|
win.update()
|
||||||
win.update_idletasks()
|
win.update_idletasks()
|
||||||
@ -125,7 +127,7 @@ def readControllerCurrentsAndData() -> bool:
|
|||||||
|
|
||||||
setStatus(f'Чтение адреса {controller.controller.ser.port}...')
|
setStatus(f'Чтение адреса {controller.controller.ser.port}...')
|
||||||
address = controller.readAddress()
|
address = controller.readAddress()
|
||||||
|
print(f'New address: {address}')
|
||||||
if address == -1:
|
if address == -1:
|
||||||
dmx_address_field.configure(style='failedToRead.TEntry')
|
dmx_address_field.configure(style='failedToRead.TEntry')
|
||||||
else:
|
else:
|
||||||
@ -133,7 +135,6 @@ def readControllerCurrentsAndData() -> bool:
|
|||||||
dmx_address_field.delete(0, tk.END)
|
dmx_address_field.delete(0, tk.END)
|
||||||
dmx_address_field.insert(tk.END, str(address))
|
dmx_address_field.insert(tk.END, str(address))
|
||||||
|
|
||||||
global modesself.ui.DeviceSelection.addItems(['/dev/ttyUSB0', '/dev/ttyUSB2'])
|
|
||||||
|
|
||||||
modes = []
|
modes = []
|
||||||
|
|
||||||
@ -389,7 +390,16 @@ def finish():
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
controller.writePowers([100, 200, 300, 400], [300, 2000, 2341, 10], 49, [100, 240, 30, 239], 52)
|
controller.connect("/dev/ttyUSB0")
|
||||||
|
|
||||||
|
pws = controller.readPowers()
|
||||||
|
print(pws)
|
||||||
|
|
||||||
|
controller.writePowers([30, 47, 60, 60], [14, 45, 34, 9], 20, [10, 20, 30, 40], 10)
|
||||||
|
time.sleep(2)
|
||||||
|
|
||||||
|
pws = controller.readPowers()
|
||||||
|
print(pws)
|
||||||
|
|
||||||
win.configure(width=270, height=350)
|
win.configure(width=270, height=350)
|
||||||
win.resizable(False, False)
|
win.resizable(False, False)
|
||||||
|
2
main.py
2
main.py
@ -61,6 +61,8 @@ class Window(QtWidgets.QMainWindow):
|
|||||||
|
|
||||||
def setStatus(self, text: str) -> None :
|
def setStatus(self, text: str) -> None :
|
||||||
print(text)
|
print(text)
|
||||||
|
self.ui.Status.setText(text)
|
||||||
|
self.repaint()
|
||||||
|
|
||||||
def deviceSelected(self, deviceIndex: int):
|
def deviceSelected(self, deviceIndex: int):
|
||||||
device = self.ui.DeviceSelection.itemText(deviceIndex)
|
device = self.ui.DeviceSelection.itemText(deviceIndex)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE QtCreatorProject>
|
<!DOCTYPE QtCreatorProject>
|
||||||
<!-- Written by QtCreator 13.0.0, 2024-12-03T22:31:52. -->
|
<!-- Written by QtCreator 13.0.0, 2024-12-25T20:11:57. -->
|
||||||
<qtcreator>
|
<qtcreator>
|
||||||
<data>
|
<data>
|
||||||
<variable>EnvironmentId</variable>
|
<variable>EnvironmentId</variable>
|
||||||
|
@ -1,418 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>Controller</class>
|
|
||||||
<widget class="QMainWindow" name="Controller">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>273</width>
|
|
||||||
<height>350</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>273</width>
|
|
||||||
<height>350</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>273</width>
|
|
||||||
<height>350</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string>Controller</string>
|
|
||||||
</property>
|
|
||||||
<widget class="QWidget" name="centralwidget">
|
|
||||||
<widget class="QWidget" name="formLayoutWidget">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>284</width>
|
|
||||||
<height>251</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<layout class="QFormLayout" name="formLayout">
|
|
||||||
<property name="rowWrapPolicy">
|
|
||||||
<enum>QFormLayout::DontWrapRows</enum>
|
|
||||||
</property>
|
|
||||||
<property name="labelAlignment">
|
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
|
||||||
</property>
|
|
||||||
<property name="verticalSpacing">
|
|
||||||
<number>8</number>
|
|
||||||
</property>
|
|
||||||
<property name="leftMargin">
|
|
||||||
<number>10</number>
|
|
||||||
</property>
|
|
||||||
<property name="topMargin">
|
|
||||||
<number>10</number>
|
|
||||||
</property>
|
|
||||||
<property name="rightMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="ComPort">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<family>Ubuntu Sans</family>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>COM Порт:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QComboBox" name="DeviceSelection">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>110</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<family>Arial</family>
|
|
||||||
<pointsize>10</pointsize>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>/dev/ttyUSB0</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="DmxAddress">
|
|
||||||
<property name="text">
|
|
||||||
<string>DMX Адрес:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="QLineEdit" name="DmxAddressField">
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>45</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>10</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignCenter</set>
|
|
||||||
</property>
|
|
||||||
<property name="placeholderText">
|
|
||||||
<string>no data</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0">
|
|
||||||
<widget class="QLabel" name="Personality">
|
|
||||||
<property name="text">
|
|
||||||
<string>Personality:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="0">
|
|
||||||
<widget class="QLabel" name="Current1">
|
|
||||||
<property name="text">
|
|
||||||
<string> I1</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="1">
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
|
||||||
<item>
|
|
||||||
<widget class="QLineEdit" name="Current1Field">
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>45</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>1000</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="ma1">
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>16777215</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string> mA</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item row="4" column="0">
|
|
||||||
<widget class="QLabel" name="Current2">
|
|
||||||
<property name="text">
|
|
||||||
<string> I2</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="4" column="1">
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
|
||||||
<item>
|
|
||||||
<widget class="QLineEdit" name="Current2Field">
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>45</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>450</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="ma2">
|
|
||||||
<property name="text">
|
|
||||||
<string> mA</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="0">
|
|
||||||
<widget class="QLabel" name="Current3">
|
|
||||||
<property name="text">
|
|
||||||
<string> I3</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="1">
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
|
||||||
<item>
|
|
||||||
<widget class="QLineEdit" name="Current3Field">
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>45</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>520</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="ma3">
|
|
||||||
<property name="text">
|
|
||||||
<string> mA</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item row="6" column="0">
|
|
||||||
<widget class="QLabel" name="Current4">
|
|
||||||
<property name="text">
|
|
||||||
<string> I4</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="6" column="1">
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
|
||||||
<item>
|
|
||||||
<widget class="QLineEdit" name="Current4Field">
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>45</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>780</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="ma4">
|
|
||||||
<property name="text">
|
|
||||||
<string> mA</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1">
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
||||||
<property name="spacing">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="rightMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<widget class="QComboBox" name="ModeSelection">
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>131</width>
|
|
||||||
<height>32</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<family>Arial</family>
|
|
||||||
<pointsize>9</pointsize>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="frame">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>28:CH RGB45 SLO</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="ModeInfo">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>32</width>
|
|
||||||
<height>32</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
<property name="icon">
|
|
||||||
<iconset theme="dialog-question">
|
|
||||||
<normaloff>.</normaloff>.</iconset>
|
|
||||||
</property>
|
|
||||||
<property name="iconSize">
|
|
||||||
<size>
|
|
||||||
<width>20</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="checkable">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<widget class="QWidget" name="verticalLayoutWidget">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>250</y>
|
|
||||||
<width>271</width>
|
|
||||||
<height>101</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
|
||||||
<property name="spacing">
|
|
||||||
<number>50</number>
|
|
||||||
</property>
|
|
||||||
<property name="leftMargin">
|
|
||||||
<number>10</number>
|
|
||||||
</property>
|
|
||||||
<property name="rightMargin">
|
|
||||||
<number>10</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="Read">
|
|
||||||
<property name="text">
|
|
||||||
<string>Чтение</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="Write">
|
|
||||||
<property name="text">
|
|
||||||
<string>Запись</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
|
||||||
<property name="leftMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="Check">
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>97</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Проверить</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="Status">
|
|
||||||
<property name="text">
|
|
||||||
<string>Выбранный порт: /dev/ttyUSB0</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
|
||||||
<resources/>
|
|
||||||
<connections/>
|
|
||||||
</ui>
|
|
BIN
протокол (2).xlsx
Normal file
BIN
протокол (2).xlsx
Normal file
Binary file not shown.
Reference in New Issue
Block a user