Manual control modbus ui for webrelay
This commit is contained in:
parent
bdfc973137
commit
38a0213d49
3 changed files with 174 additions and 220 deletions
|
|
@ -28,6 +28,11 @@ print('pubsub API version', pub.VERSION_API)
|
||||||
pubsub.utils.notification.useNotifyByWriteFile(sys.stdout)
|
pubsub.utils.notification.useNotifyByWriteFile(sys.stdout)
|
||||||
|
|
||||||
|
|
||||||
|
class WebRelay:
|
||||||
|
def __init__(self, n_relay=10):
|
||||||
|
self.n_relay = n_relay
|
||||||
|
self.relay_status = [False for i in range(self.n_relay)]
|
||||||
|
|
||||||
class Controller:
|
class Controller:
|
||||||
def __init__(self, view):
|
def __init__(self, view):
|
||||||
self.sc = None
|
self.sc = None
|
||||||
|
|
@ -39,7 +44,6 @@ class Controller:
|
||||||
|
|
||||||
self.mbclient = None
|
self.mbclient = None
|
||||||
|
|
||||||
pub.subscribe(self.getFaultInfo, 'fault_selected')
|
|
||||||
pub.subscribe(self.startTimer, 'monitoring_started')
|
pub.subscribe(self.startTimer, 'monitoring_started')
|
||||||
pub.subscribe(self.stopTimer, 'monitoring_stopped')
|
pub.subscribe(self.stopTimer, 'monitoring_stopped')
|
||||||
pub.subscribe(self.applyNetworkConfigs, 'apply_network_configs')
|
pub.subscribe(self.applyNetworkConfigs, 'apply_network_configs')
|
||||||
|
|
@ -49,6 +53,38 @@ class Controller:
|
||||||
pub.subscribe(self.startSystemOp, "start_system_op_manual")
|
pub.subscribe(self.startSystemOp, "start_system_op_manual")
|
||||||
pub.subscribe(self.stopSystemOp, "stop_system_op_manual")
|
pub.subscribe(self.stopSystemOp, "stop_system_op_manual")
|
||||||
|
|
||||||
|
pub.subscribe(self.turnRelayOn, "turn_relay_on")
|
||||||
|
pub.subscribe(self.turnRelayOff, "turn_relay_off")
|
||||||
|
|
||||||
|
'''
|
||||||
|
def WriteSingleCoil(self, startingAddress, value)
|
||||||
|
|
||||||
|
Write single Coil to Server device (Function code 5)
|
||||||
|
startingAddress: Coil to be written
|
||||||
|
value: Coil Value to be written
|
||||||
|
|
||||||
|
def WriteMultipleCoils(self, startingAddress, values)
|
||||||
|
|
||||||
|
Write multiple coils to Server device (Function code 15)
|
||||||
|
startingAddress : First coil to be written
|
||||||
|
values: Coil Values [0..quantity-1] to be written
|
||||||
|
'''
|
||||||
|
|
||||||
|
def turnRelayOn(self, relay_id):
|
||||||
|
'''
|
||||||
|
:param relay_id: id of relay to turn on
|
||||||
|
:return: None
|
||||||
|
'''
|
||||||
|
self.mbclient.write_single_coil(relay_id-1, True)
|
||||||
|
|
||||||
|
def turnRelayOff(self, relay_id):
|
||||||
|
'''
|
||||||
|
:param relay_id: id of relay to turn off
|
||||||
|
:return: None
|
||||||
|
'''
|
||||||
|
self.mbclient.write_single_coil(relay_id-11, False)
|
||||||
|
|
||||||
|
|
||||||
def startSystemOp(self, mode, val):
|
def startSystemOp(self, mode, val):
|
||||||
self.sc.setPortModes(mode)
|
self.sc.setPortModes(mode)
|
||||||
self.sc.setPortSetpoints(val)
|
self.sc.setPortSetpoints(val)
|
||||||
|
|
@ -89,22 +125,6 @@ class Controller:
|
||||||
a = "Auto" if self.mode else "Manual"
|
a = "Auto" if self.mode else "Manual"
|
||||||
self.view.text_op_mode.SetValue(a)
|
self.view.text_op_mode.SetValue(a)
|
||||||
|
|
||||||
def getFaultInfo(self, pos):
|
|
||||||
y, x = pos
|
|
||||||
fid = x + y * 8
|
|
||||||
if 0 <= fid <= 63:
|
|
||||||
try:
|
|
||||||
info_text = faultInfo[fid]
|
|
||||||
except IndexError:
|
|
||||||
info_text = "Fault Number: {} (Reserved)".format(fid)
|
|
||||||
self.view.text_fault_doc.SetValue(info_text)
|
|
||||||
|
|
||||||
status_text = "Not Connected"
|
|
||||||
if self.sc:
|
|
||||||
fDict = self.sc.readFaultDetail(fid)
|
|
||||||
status_text = pprint.pformat(fDict)
|
|
||||||
self.view.text_fault_status.SetValue(status_text)
|
|
||||||
|
|
||||||
def OnTimer(self, event):
|
def OnTimer(self, event):
|
||||||
# Read registers
|
# Read registers
|
||||||
relay_status = self.mbclient.read_coils(0,10)
|
relay_status = self.mbclient.read_coils(0,10)
|
||||||
|
|
@ -226,9 +246,11 @@ class MyFrame(FaultFrame):
|
||||||
pub.sendMessage("check_system_op_mode")
|
pub.sendMessage("check_system_op_mode")
|
||||||
|
|
||||||
def OnRelayOn(self, event):
|
def OnRelayOn(self, event):
|
||||||
|
pub.sendMessage("turn_relay_on", relay_id = event.GetId())
|
||||||
event.Skip()
|
event.Skip()
|
||||||
|
|
||||||
def OnRelayOff(self, event):
|
def OnRelayOff(self, event):
|
||||||
|
pub.sendMessage("turn_relay_off", relay_id = event.GetId())
|
||||||
event.Skip()
|
event.Skip()
|
||||||
|
|
||||||
def OnRelayPulse(self, event):
|
def OnRelayPulse(self, event):
|
||||||
|
|
|
||||||
85
FaultView.py
85
FaultView.py
|
|
@ -1,6 +1,6 @@
|
||||||
# -*- coding: UTF-8 -*-
|
# -*- coding: UTF-8 -*-
|
||||||
#
|
#
|
||||||
# generated by wxGlade 0.9.6 on Fri Jul 24 15:09:44 2020
|
# generated by wxGlade 0.9.6 on Wed Jul 29 12:53:09 2020
|
||||||
#
|
#
|
||||||
|
|
||||||
import wx
|
import wx
|
||||||
|
|
@ -18,7 +18,7 @@ class FaultFrame(wx.Frame):
|
||||||
# begin wxGlade: FaultFrame.__init__
|
# begin wxGlade: FaultFrame.__init__
|
||||||
kwds["style"] = kwds.get("style", 0) | wx.DEFAULT_FRAME_STYLE
|
kwds["style"] = kwds.get("style", 0) | wx.DEFAULT_FRAME_STYLE
|
||||||
wx.Frame.__init__(self, *args, **kwds)
|
wx.Frame.__init__(self, *args, **kwds)
|
||||||
self.SetSize((411, 480))
|
self.SetSize((442, 480))
|
||||||
self.input_ip = wx.TextCtrl(self, wx.ID_ANY, _("192.168.1.2"))
|
self.input_ip = wx.TextCtrl(self, wx.ID_ANY, _("192.168.1.2"))
|
||||||
self.input_port = wx.TextCtrl(self, wx.ID_ANY, _("502"))
|
self.input_port = wx.TextCtrl(self, wx.ID_ANY, _("502"))
|
||||||
self.input_uid = wx.TextCtrl(self, wx.ID_ANY, _("240"))
|
self.input_uid = wx.TextCtrl(self, wx.ID_ANY, _("240"))
|
||||||
|
|
@ -27,46 +27,46 @@ class FaultFrame(wx.Frame):
|
||||||
self.apply_button = wx.Button(self, wx.ID_ANY, _("Apply"))
|
self.apply_button = wx.Button(self, wx.ID_ANY, _("Apply"))
|
||||||
self.rreset_button = wx.Button(self, wx.ID_ANY, _("Remote PCS Reset"))
|
self.rreset_button = wx.Button(self, wx.ID_ANY, _("Remote PCS Reset"))
|
||||||
self.button_1 = wx.ToggleButton(self, wx.ID_ANY, _("Start"))
|
self.button_1 = wx.ToggleButton(self, wx.ID_ANY, _("Start"))
|
||||||
self.text_ctrl_1 = wx.TextCtrl(self, wx.ID_ANY, _("OFF"), style=wx.BORDER_NONE | wx.TE_CENTRE | wx.TE_READONLY)
|
self.text_ctrl_1 = wx.TextCtrl(self, 1, _("OFF"), style=wx.TE_CENTRE | wx.TE_READONLY)
|
||||||
self.button_2 = wx.Button(self, wx.ID_ANY, _("ON"))
|
self.button_2 = wx.Button(self, 1, _("ON"))
|
||||||
self.button_3 = wx.Button(self, wx.ID_ANY, _("OFF"))
|
self.button_3 = wx.Button(self, 11, _("OFF"))
|
||||||
self.button_4 = wx.Button(self, wx.ID_ANY, _("PULSE"))
|
self.button_4 = wx.Button(self, 21, _("PULSE"))
|
||||||
self.text_ctrl_2 = wx.TextCtrl(self, wx.ID_ANY, _("OFF"), style=wx.BORDER_NONE | wx.TE_CENTRE | wx.TE_READONLY)
|
self.text_ctrl_2 = wx.TextCtrl(self, 2, _("OFF"), style=wx.TE_CENTRE | wx.TE_READONLY)
|
||||||
self.button_5 = wx.Button(self, wx.ID_ANY, _("ON"))
|
self.button_5 = wx.Button(self, 2, _("ON"))
|
||||||
self.button_6 = wx.Button(self, wx.ID_ANY, _("OFF"))
|
self.button_6 = wx.Button(self, 12, _("OFF"))
|
||||||
self.button_7 = wx.Button(self, wx.ID_ANY, _("PULSE"))
|
self.button_7 = wx.Button(self, 22, _("PULSE"))
|
||||||
self.text_ctrl_3 = wx.TextCtrl(self, wx.ID_ANY, _("OFF"), style=wx.BORDER_NONE | wx.TE_CENTRE | wx.TE_READONLY)
|
self.text_ctrl_3 = wx.TextCtrl(self, 3, _("OFF"), style=wx.TE_CENTRE | wx.TE_READONLY)
|
||||||
self.button_8 = wx.Button(self, wx.ID_ANY, _("ON"))
|
self.button_8 = wx.Button(self, 3, _("ON"))
|
||||||
self.button_9 = wx.Button(self, wx.ID_ANY, _("OFF"))
|
self.button_9 = wx.Button(self, 13, _("OFF"))
|
||||||
self.button_10 = wx.Button(self, wx.ID_ANY, _("PULSE"))
|
self.button_10 = wx.Button(self, 23, _("PULSE"))
|
||||||
self.text_ctrl_4 = wx.TextCtrl(self, wx.ID_ANY, _("OFF"), style=wx.BORDER_NONE | wx.TE_CENTRE | wx.TE_READONLY)
|
self.text_ctrl_4 = wx.TextCtrl(self, 4, _("OFF"), style=wx.TE_CENTRE | wx.TE_READONLY)
|
||||||
self.button_11 = wx.Button(self, wx.ID_ANY, _("ON"))
|
self.button_11 = wx.Button(self, 4, _("ON"))
|
||||||
self.button_12 = wx.Button(self, wx.ID_ANY, _("OFF"))
|
self.button_12 = wx.Button(self, 14, _("OFF"))
|
||||||
self.button_13 = wx.Button(self, wx.ID_ANY, _("PULSE"))
|
self.button_13 = wx.Button(self, 24, _("PULSE"))
|
||||||
self.text_ctrl_5 = wx.TextCtrl(self, wx.ID_ANY, _("OFF"), style=wx.BORDER_NONE | wx.TE_CENTRE | wx.TE_READONLY)
|
self.text_ctrl_5 = wx.TextCtrl(self, 5, _("OFF"), style=wx.TE_CENTRE | wx.TE_READONLY)
|
||||||
self.button_14 = wx.Button(self, wx.ID_ANY, _("ON"))
|
self.button_14 = wx.Button(self, 5, _("ON"))
|
||||||
self.button_15 = wx.Button(self, wx.ID_ANY, _("OFF"))
|
self.button_15 = wx.Button(self, 15, _("OFF"))
|
||||||
self.button_16 = wx.Button(self, wx.ID_ANY, _("PULSE"))
|
self.button_16 = wx.Button(self, 25, _("PULSE"))
|
||||||
self.text_ctrl_6 = wx.TextCtrl(self, wx.ID_ANY, _("OFF"), style=wx.BORDER_NONE | wx.TE_CENTRE | wx.TE_READONLY)
|
self.text_ctrl_6 = wx.TextCtrl(self, 6, _("OFF"), style=wx.TE_CENTRE | wx.TE_READONLY)
|
||||||
self.button_17 = wx.Button(self, wx.ID_ANY, _("ON"))
|
self.button_17 = wx.Button(self, 6, _("ON"))
|
||||||
self.button_18 = wx.Button(self, wx.ID_ANY, _("OFF"))
|
self.button_18 = wx.Button(self, 16, _("OFF"))
|
||||||
self.button_19 = wx.Button(self, wx.ID_ANY, _("PULSE"))
|
self.button_19 = wx.Button(self, 26, _("PULSE"))
|
||||||
self.text_ctrl_7 = wx.TextCtrl(self, wx.ID_ANY, _("OFF"), style=wx.BORDER_NONE | wx.TE_CENTRE | wx.TE_READONLY)
|
self.text_ctrl_7 = wx.TextCtrl(self, 7, _("OFF"), style=wx.TE_CENTRE | wx.TE_READONLY)
|
||||||
self.button_20 = wx.Button(self, wx.ID_ANY, _("ON"))
|
self.button_20 = wx.Button(self, 7, _("ON"))
|
||||||
self.button_21 = wx.Button(self, wx.ID_ANY, _("OFF"))
|
self.button_21 = wx.Button(self, 17, _("OFF"))
|
||||||
self.button_22 = wx.Button(self, wx.ID_ANY, _("PULSE"))
|
self.button_22 = wx.Button(self, 27, _("PULSE"))
|
||||||
self.text_ctrl_8 = wx.TextCtrl(self, wx.ID_ANY, _("OFF"), style=wx.BORDER_NONE | wx.TE_CENTRE | wx.TE_READONLY)
|
self.text_ctrl_8 = wx.TextCtrl(self, 8, _("OFF"), style=wx.TE_CENTRE | wx.TE_READONLY)
|
||||||
self.button_23 = wx.Button(self, wx.ID_ANY, _("ON"))
|
self.button_23 = wx.Button(self, 8, _("ON"))
|
||||||
self.button_24 = wx.Button(self, wx.ID_ANY, _("OFF"))
|
self.button_24 = wx.Button(self, 18, _("OFF"))
|
||||||
self.button_25 = wx.Button(self, wx.ID_ANY, _("PULSE"))
|
self.button_25 = wx.Button(self, 28, _("PULSE"))
|
||||||
self.text_ctrl_9 = wx.TextCtrl(self, wx.ID_ANY, _("OFF"), style=wx.BORDER_NONE | wx.TE_CENTRE | wx.TE_READONLY)
|
self.text_ctrl_9 = wx.TextCtrl(self, 9, _("OFF"), style=wx.TE_CENTRE | wx.TE_READONLY)
|
||||||
self.button_26 = wx.Button(self, wx.ID_ANY, _("ON"))
|
self.button_26 = wx.Button(self, 9, _("ON"))
|
||||||
self.button_27 = wx.Button(self, wx.ID_ANY, _("OFF"))
|
self.button_27 = wx.Button(self, 19, _("OFF"))
|
||||||
self.button_28 = wx.Button(self, wx.ID_ANY, _("PULSE"))
|
self.button_28 = wx.Button(self, 29, _("PULSE"))
|
||||||
self.text_ctrl_10 = wx.TextCtrl(self, wx.ID_ANY, _("OFF"), style=wx.BORDER_NONE | wx.TE_CENTRE | wx.TE_READONLY)
|
self.text_ctrl_10 = wx.TextCtrl(self, 10, _("OFF"), style=wx.TE_CENTRE | wx.TE_READONLY)
|
||||||
self.button_29 = wx.Button(self, wx.ID_ANY, _("ON"))
|
self.button_29 = wx.Button(self, 10, _("ON"))
|
||||||
self.button_30 = wx.Button(self, wx.ID_ANY, _("OFF"))
|
self.button_30 = wx.Button(self, 20, _("OFF"))
|
||||||
self.button_31 = wx.Button(self, wx.ID_ANY, _("PULSE"))
|
self.button_31 = wx.Button(self, 30, _("PULSE"))
|
||||||
|
|
||||||
self.__set_properties()
|
self.__set_properties()
|
||||||
self.__do_layout()
|
self.__do_layout()
|
||||||
|
|
@ -157,7 +157,6 @@ class FaultFrame(wx.Frame):
|
||||||
sizer_4.Add(self.rreset_button, 0, 0, 0)
|
sizer_4.Add(self.rreset_button, 0, 0, 0)
|
||||||
sizer_4.Add(self.button_1, 0, 0, 0)
|
sizer_4.Add(self.button_1, 0, 0, 0)
|
||||||
sizer_7.Add(sizer_4, 0, wx.EXPAND, 0)
|
sizer_7.Add(sizer_4, 0, wx.EXPAND, 0)
|
||||||
sizer_7.Add((20, 20), 0, wx.EXPAND, 0)
|
|
||||||
label_5 = wx.StaticText(self, wx.ID_ANY, _("Relay 1"))
|
label_5 = wx.StaticText(self, wx.ID_ANY, _("Relay 1"))
|
||||||
sizer_2.Add(label_5, 0, 0, 0)
|
sizer_2.Add(label_5, 0, 0, 0)
|
||||||
sizer_2.Add((20, 20), 0, 0, 0)
|
sizer_2.Add((20, 20), 0, 0, 0)
|
||||||
|
|
|
||||||
253
faultView.wxg
253
faultView.wxg
|
|
@ -1,9 +1,9 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<!-- generated by wxGlade 0.9.6 on Wed Jul 22 19:28:03 2020 -->
|
<!-- generated by wxGlade 0.9.6 on Wed Jul 29 12:53:06 2020 -->
|
||||||
|
|
||||||
<application encoding="UTF-8" for_version="3.0" header_extension=".h" indent_amount="4" indent_symbol="space" is_template="0" language="python" mark_blocks="0" option="0" overwrite="1" path="FaultView.py" source_extension=".cpp" top_window="frame" use_gettext="1" use_new_namespace="1">
|
<application encoding="UTF-8" for_version="3.0" header_extension=".h" indent_amount="4" indent_symbol="space" is_template="0" language="python" mark_blocks="0" option="0" overwrite="1" path="FaultView.py" source_extension=".cpp" top_window="frame" use_gettext="1" use_new_namespace="1">
|
||||||
<object class="FaultFrame" name="frame" base="EditFrame">
|
<object class="FaultFrame" name="frame" base="EditFrame">
|
||||||
<size>320, 480</size>
|
<size>442, 480</size>
|
||||||
<title>PCS Controller</title>
|
<title>PCS Controller</title>
|
||||||
<style>wxDEFAULT_FRAME_STYLE</style>
|
<style>wxDEFAULT_FRAME_STYLE</style>
|
||||||
<object class="wxBoxSizer" name="sizer_1" base="EditBoxSizer">
|
<object class="wxBoxSizer" name="sizer_1" base="EditBoxSizer">
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<flag>wxEXPAND</flag>
|
<flag>wxEXPAND</flag>
|
||||||
<object class="wxGridSizer" name="sizer_4" base="EditGridSizer">
|
<object class="wxGridSizer" name="sizer_4" base="EditGridSizer">
|
||||||
<rows>7</rows>
|
<rows>6</rows>
|
||||||
<cols>2</cols>
|
<cols>2</cols>
|
||||||
<vgap>0</vgap>
|
<vgap>0</vgap>
|
||||||
<hgap>0</hgap>
|
<hgap>0</hgap>
|
||||||
|
|
@ -121,23 +121,6 @@
|
||||||
<label>Start</label>
|
<label>Start</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem">
|
|
||||||
<option>0</option>
|
|
||||||
<border>0</border>
|
|
||||||
<object class="wxButton" name="op_mode_button" base="EditButton">
|
|
||||||
<events>
|
|
||||||
<handler event="EVT_BUTTON">OnCheckSysOpMode</handler>
|
|
||||||
</events>
|
|
||||||
<label>System OP Mode</label>
|
|
||||||
</object>
|
|
||||||
</object>
|
|
||||||
<object class="sizeritem">
|
|
||||||
<option>0</option>
|
|
||||||
<border>0</border>
|
|
||||||
<object class="wxTextCtrl" name="text_op_mode" base="EditTextCtrl">
|
|
||||||
<style>wxTE_READONLY</style>
|
|
||||||
</object>
|
|
||||||
</object>
|
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
|
|
@ -156,7 +139,7 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxStaticText" name="label_5" base="EditStaticText">
|
<object class="wxStaticText" name="label_5" base="EditStaticText">
|
||||||
<label>Relay 1</label>
|
<label>Relay 1</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
|
|
@ -170,10 +153,11 @@
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxCheckBox" name="checkbox_1" base="EditCheckBox">
|
<object class="wxTextCtrl" name="text_ctrl_1" base="EditTextCtrl">
|
||||||
<extraproperties>
|
<id>1</id>
|
||||||
<property name="relay_id">1</property>
|
<background>#ff0000</background>
|
||||||
</extraproperties>
|
<style>wxTE_READONLY|wxTE_CENTRE</style>
|
||||||
|
<value>OFF</value>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
|
|
@ -188,12 +172,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_2" base="EditButton">
|
<object class="wxButton" name="button_2" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">1</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayOn</handler>
|
<handler event="EVT_BUTTON">OnRelayOn</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>1</id>
|
||||||
<label>ON</label>
|
<label>ON</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -201,12 +183,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_3" base="EditButton">
|
<object class="wxButton" name="button_3" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">1</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayOff</handler>
|
<handler event="EVT_BUTTON">OnRelayOff</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>11</id>
|
||||||
<label>OFF</label>
|
<label>OFF</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -214,12 +194,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_4" base="EditButton">
|
<object class="wxButton" name="button_4" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">1</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayPulse</handler>
|
<handler event="EVT_BUTTON">OnRelayPulse</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>21</id>
|
||||||
<label>PULSE</label>
|
<label>PULSE</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -235,7 +213,7 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxStaticText" name="label_6" base="EditStaticText">
|
<object class="wxStaticText" name="label_6" base="EditStaticText">
|
||||||
<label>Relay 1</label>
|
<label>Relay 2</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
|
|
@ -249,10 +227,11 @@
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxCheckBox" name="checkbox_2" base="EditCheckBox">
|
<object class="wxTextCtrl" name="text_ctrl_2" base="EditTextCtrl">
|
||||||
<extraproperties>
|
<id>2</id>
|
||||||
<property name="relay_id">1</property>
|
<background>#ff0000</background>
|
||||||
</extraproperties>
|
<style>wxTE_READONLY|wxTE_CENTRE</style>
|
||||||
|
<value>OFF</value>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
|
|
@ -267,12 +246,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_5" base="EditButton">
|
<object class="wxButton" name="button_5" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">2</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayOn</handler>
|
<handler event="EVT_BUTTON">OnRelayOn</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>2</id>
|
||||||
<label>ON</label>
|
<label>ON</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -280,12 +257,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_6" base="EditButton">
|
<object class="wxButton" name="button_6" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">2</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayOff</handler>
|
<handler event="EVT_BUTTON">OnRelayOff</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>12</id>
|
||||||
<label>OFF</label>
|
<label>OFF</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -293,12 +268,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_7" base="EditButton">
|
<object class="wxButton" name="button_7" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">2</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayPulse</handler>
|
<handler event="EVT_BUTTON">OnRelayPulse</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>22</id>
|
||||||
<label>PULSE</label>
|
<label>PULSE</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -314,7 +287,7 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxStaticText" name="label_7" base="EditStaticText">
|
<object class="wxStaticText" name="label_7" base="EditStaticText">
|
||||||
<label>Relay 1</label>
|
<label>Relay 3</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
|
|
@ -328,10 +301,11 @@
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxCheckBox" name="checkbox_3" base="EditCheckBox">
|
<object class="wxTextCtrl" name="text_ctrl_3" base="EditTextCtrl">
|
||||||
<extraproperties>
|
<id>3</id>
|
||||||
<property name="relay_id">1</property>
|
<background>#ff0000</background>
|
||||||
</extraproperties>
|
<style>wxTE_READONLY|wxTE_CENTRE</style>
|
||||||
|
<value>OFF</value>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
|
|
@ -346,12 +320,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_8" base="EditButton">
|
<object class="wxButton" name="button_8" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">3</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayOn</handler>
|
<handler event="EVT_BUTTON">OnRelayOn</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>3</id>
|
||||||
<label>ON</label>
|
<label>ON</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -359,12 +331,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_9" base="EditButton">
|
<object class="wxButton" name="button_9" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">3</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayOff</handler>
|
<handler event="EVT_BUTTON">OnRelayOff</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>13</id>
|
||||||
<label>OFF</label>
|
<label>OFF</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -372,12 +342,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_10" base="EditButton">
|
<object class="wxButton" name="button_10" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">3</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayPulse</handler>
|
<handler event="EVT_BUTTON">OnRelayPulse</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>23</id>
|
||||||
<label>PULSE</label>
|
<label>PULSE</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -393,7 +361,7 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxStaticText" name="label_8" base="EditStaticText">
|
<object class="wxStaticText" name="label_8" base="EditStaticText">
|
||||||
<label>Relay 1</label>
|
<label>Relay 4</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
|
|
@ -407,10 +375,11 @@
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxCheckBox" name="checkbox_4" base="EditCheckBox">
|
<object class="wxTextCtrl" name="text_ctrl_4" base="EditTextCtrl">
|
||||||
<extraproperties>
|
<id>4</id>
|
||||||
<property name="relay_id">1</property>
|
<background>#ff0000</background>
|
||||||
</extraproperties>
|
<style>wxTE_READONLY|wxTE_CENTRE</style>
|
||||||
|
<value>OFF</value>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
|
|
@ -425,12 +394,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_11" base="EditButton">
|
<object class="wxButton" name="button_11" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">4</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayOn</handler>
|
<handler event="EVT_BUTTON">OnRelayOn</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>4</id>
|
||||||
<label>ON</label>
|
<label>ON</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -438,12 +405,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_12" base="EditButton">
|
<object class="wxButton" name="button_12" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">4</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayOff</handler>
|
<handler event="EVT_BUTTON">OnRelayOff</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>14</id>
|
||||||
<label>OFF</label>
|
<label>OFF</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -451,12 +416,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_13" base="EditButton">
|
<object class="wxButton" name="button_13" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">4</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayPulse</handler>
|
<handler event="EVT_BUTTON">OnRelayPulse</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>24</id>
|
||||||
<label>PULSE</label>
|
<label>PULSE</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -472,7 +435,7 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxStaticText" name="label_9" base="EditStaticText">
|
<object class="wxStaticText" name="label_9" base="EditStaticText">
|
||||||
<label>Relay 1</label>
|
<label>Relay 5</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
|
|
@ -486,10 +449,11 @@
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxCheckBox" name="checkbox_5" base="EditCheckBox">
|
<object class="wxTextCtrl" name="text_ctrl_5" base="EditTextCtrl">
|
||||||
<extraproperties>
|
<id>5</id>
|
||||||
<property name="relay_id">1</property>
|
<background>#ff0000</background>
|
||||||
</extraproperties>
|
<style>wxTE_READONLY|wxTE_CENTRE</style>
|
||||||
|
<value>OFF</value>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
|
|
@ -504,12 +468,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_14" base="EditButton">
|
<object class="wxButton" name="button_14" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">5</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayOn</handler>
|
<handler event="EVT_BUTTON">OnRelayOn</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>5</id>
|
||||||
<label>ON</label>
|
<label>ON</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -517,12 +479,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_15" base="EditButton">
|
<object class="wxButton" name="button_15" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">5</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayOff</handler>
|
<handler event="EVT_BUTTON">OnRelayOff</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>15</id>
|
||||||
<label>OFF</label>
|
<label>OFF</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -530,12 +490,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_16" base="EditButton">
|
<object class="wxButton" name="button_16" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">5</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayPulse</handler>
|
<handler event="EVT_BUTTON">OnRelayPulse</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>25</id>
|
||||||
<label>PULSE</label>
|
<label>PULSE</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -551,7 +509,7 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxStaticText" name="label_10" base="EditStaticText">
|
<object class="wxStaticText" name="label_10" base="EditStaticText">
|
||||||
<label>Relay 1</label>
|
<label>Relay 6</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
|
|
@ -565,10 +523,11 @@
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxCheckBox" name="checkbox_6" base="EditCheckBox">
|
<object class="wxTextCtrl" name="text_ctrl_6" base="EditTextCtrl">
|
||||||
<extraproperties>
|
<id>6</id>
|
||||||
<property name="relay_id">1</property>
|
<background>#ff0000</background>
|
||||||
</extraproperties>
|
<style>wxTE_READONLY|wxTE_CENTRE</style>
|
||||||
|
<value>OFF</value>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
|
|
@ -583,12 +542,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_17" base="EditButton">
|
<object class="wxButton" name="button_17" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">6</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayOn</handler>
|
<handler event="EVT_BUTTON">OnRelayOn</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>6</id>
|
||||||
<label>ON</label>
|
<label>ON</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -596,12 +553,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_18" base="EditButton">
|
<object class="wxButton" name="button_18" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">6</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayOff</handler>
|
<handler event="EVT_BUTTON">OnRelayOff</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>16</id>
|
||||||
<label>OFF</label>
|
<label>OFF</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -609,12 +564,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_19" base="EditButton">
|
<object class="wxButton" name="button_19" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">6</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayPulse</handler>
|
<handler event="EVT_BUTTON">OnRelayPulse</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>26</id>
|
||||||
<label>PULSE</label>
|
<label>PULSE</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -630,7 +583,7 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxStaticText" name="label_11" base="EditStaticText">
|
<object class="wxStaticText" name="label_11" base="EditStaticText">
|
||||||
<label>Relay 1</label>
|
<label>Relay 7</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
|
|
@ -644,10 +597,11 @@
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxCheckBox" name="checkbox_7" base="EditCheckBox">
|
<object class="wxTextCtrl" name="text_ctrl_7" base="EditTextCtrl">
|
||||||
<extraproperties>
|
<id>7</id>
|
||||||
<property name="relay_id">1</property>
|
<background>#ff0000</background>
|
||||||
</extraproperties>
|
<style>wxTE_READONLY|wxTE_CENTRE</style>
|
||||||
|
<value>OFF</value>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
|
|
@ -662,12 +616,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_20" base="EditButton">
|
<object class="wxButton" name="button_20" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">7</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayOn</handler>
|
<handler event="EVT_BUTTON">OnRelayOn</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>7</id>
|
||||||
<label>ON</label>
|
<label>ON</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -675,12 +627,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_21" base="EditButton">
|
<object class="wxButton" name="button_21" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">7</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayOff</handler>
|
<handler event="EVT_BUTTON">OnRelayOff</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>17</id>
|
||||||
<label>OFF</label>
|
<label>OFF</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -688,12 +638,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_22" base="EditButton">
|
<object class="wxButton" name="button_22" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">7</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayPulse</handler>
|
<handler event="EVT_BUTTON">OnRelayPulse</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>27</id>
|
||||||
<label>PULSE</label>
|
<label>PULSE</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -709,7 +657,7 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxStaticText" name="label_12" base="EditStaticText">
|
<object class="wxStaticText" name="label_12" base="EditStaticText">
|
||||||
<label>Relay 1</label>
|
<label>Relay 8</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
|
|
@ -723,10 +671,11 @@
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxCheckBox" name="checkbox_8" base="EditCheckBox">
|
<object class="wxTextCtrl" name="text_ctrl_8" base="EditTextCtrl">
|
||||||
<extraproperties>
|
<id>8</id>
|
||||||
<property name="relay_id">1</property>
|
<background>#ff0000</background>
|
||||||
</extraproperties>
|
<style>wxTE_READONLY|wxTE_CENTRE</style>
|
||||||
|
<value>OFF</value>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
|
|
@ -741,12 +690,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_23" base="EditButton">
|
<object class="wxButton" name="button_23" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">8</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayOn</handler>
|
<handler event="EVT_BUTTON">OnRelayOn</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>8</id>
|
||||||
<label>ON</label>
|
<label>ON</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -754,12 +701,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_24" base="EditButton">
|
<object class="wxButton" name="button_24" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">8</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayOff</handler>
|
<handler event="EVT_BUTTON">OnRelayOff</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>18</id>
|
||||||
<label>OFF</label>
|
<label>OFF</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -767,12 +712,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_25" base="EditButton">
|
<object class="wxButton" name="button_25" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">8</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayPulse</handler>
|
<handler event="EVT_BUTTON">OnRelayPulse</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>28</id>
|
||||||
<label>PULSE</label>
|
<label>PULSE</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -788,7 +731,7 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxStaticText" name="label_13" base="EditStaticText">
|
<object class="wxStaticText" name="label_13" base="EditStaticText">
|
||||||
<label>Relay 1</label>
|
<label>Relay 9</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
|
|
@ -802,10 +745,11 @@
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxCheckBox" name="checkbox_9" base="EditCheckBox">
|
<object class="wxTextCtrl" name="text_ctrl_9" base="EditTextCtrl">
|
||||||
<extraproperties>
|
<id>9</id>
|
||||||
<property name="relay_id">1</property>
|
<background>#ff0000</background>
|
||||||
</extraproperties>
|
<style>wxTE_READONLY|wxTE_CENTRE</style>
|
||||||
|
<value>OFF</value>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
|
|
@ -820,12 +764,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_26" base="EditButton">
|
<object class="wxButton" name="button_26" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">9</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayOn</handler>
|
<handler event="EVT_BUTTON">OnRelayOn</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>9</id>
|
||||||
<label>ON</label>
|
<label>ON</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -833,12 +775,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_27" base="EditButton">
|
<object class="wxButton" name="button_27" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">9</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayOff</handler>
|
<handler event="EVT_BUTTON">OnRelayOff</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>19</id>
|
||||||
<label>OFF</label>
|
<label>OFF</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -846,12 +786,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_28" base="EditButton">
|
<object class="wxButton" name="button_28" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">9</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayPulse</handler>
|
<handler event="EVT_BUTTON">OnRelayPulse</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>29</id>
|
||||||
<label>PULSE</label>
|
<label>PULSE</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -867,7 +805,7 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxStaticText" name="label_14" base="EditStaticText">
|
<object class="wxStaticText" name="label_14" base="EditStaticText">
|
||||||
<label>Relay 1</label>
|
<label>Relay 10</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
|
|
@ -881,10 +819,11 @@
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxCheckBox" name="checkbox_10" base="EditCheckBox">
|
<object class="wxTextCtrl" name="text_ctrl_10" base="EditTextCtrl">
|
||||||
<extraproperties>
|
<id>10</id>
|
||||||
<property name="relay_id">10</property>
|
<background>#ff0000</background>
|
||||||
</extraproperties>
|
<style>wxTE_READONLY|wxTE_CENTRE</style>
|
||||||
|
<value>OFF</value>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
|
|
@ -899,12 +838,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_29" base="EditButton">
|
<object class="wxButton" name="button_29" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">10</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayOn</handler>
|
<handler event="EVT_BUTTON">OnRelayOn</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>10</id>
|
||||||
<label>ON</label>
|
<label>ON</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -912,12 +849,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_30" base="EditButton">
|
<object class="wxButton" name="button_30" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">10</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayOff</handler>
|
<handler event="EVT_BUTTON">OnRelayOff</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>20</id>
|
||||||
<label>OFF</label>
|
<label>OFF</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
@ -925,12 +860,10 @@
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<border>0</border>
|
<border>0</border>
|
||||||
<object class="wxButton" name="button_31" base="EditButton">
|
<object class="wxButton" name="button_31" base="EditButton">
|
||||||
<extraproperties>
|
|
||||||
<property name="relay_id">10</property>
|
|
||||||
</extraproperties>
|
|
||||||
<events>
|
<events>
|
||||||
<handler event="EVT_BUTTON">OnRelayPulse</handler>
|
<handler event="EVT_BUTTON">OnRelayPulse</handler>
|
||||||
</events>
|
</events>
|
||||||
|
<id>30</id>
|
||||||
<label>PULSE</label>
|
<label>PULSE</label>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue