def set_new_gpio_link(self, e):
#get data from combo boxes.
unused_gpio = self.list_unused_gpio(self.list_used_gpio())
config_ctrl_pnl.device_new = self.devices_combo.GetValue()
config_ctrl_pnl.gpio_new = self.gpio_tc.GetValue()
config_ctrl_pnl.wiring_new = self.wiring_combo.GetValue()
#check to see if info is valid and closes if it is
should_close = True
# check if device is set
if config_ctrl_pnl.device_new == "":
wx.MessageBox('Select a device to link from the list', 'Error', wx.OK | wx.ICON_INFORMATION)
should_close = False
#check if gpio number is valid
if not config_ctrl_pnl.gpio_new == config_ctrl_pnl.gpio_toedit or config_ctrl_pnl.gpio_toedit == "":
if not config_ctrl_pnl.gpio_new in unused_gpio and should_close == True:
wx.MessageBox('Select a valid and unused gpio pin', 'Error', wx.OK | wx.ICON_INFORMATION)
config_ctrl_pnl.gpio_new = self.gpio_tc.SetValue("")
should_close = False
# check if wiring direction is set to a valid setting
if not config_ctrl_pnl.wiring_new == "low" and should_close == True:
if not config_ctrl_pnl.wiring_new == "high":
wx.MessageBox("No wiring direction set, \nIf you don't know guess and change it if the device turns on when it should be off", 'Error', wx.OK | wx.ICON_INFORMATION)
should_close = False
# if box should be closed then close it
if should_close == True:
#checks to see if changes have been made and updates ui if so
if not config_ctrl_pnl.device_new == config_ctrl_pnl.device_toedit:
config_ctrl_pnl.currently_new = 'unlinked'
else:
if not config_ctrl_pnl.gpio_new == config_ctrl_pnl.gpio_toedit:
config_ctrl_pnl.currently_new = 'unlinked'
else:
if not config_ctrl_pnl.wiring_new == config_ctrl_pnl.wiring_toedit:
config_ctrl_pnl.currently_new = 'unlinked'
else:
config_ctrl_pnl.currently_new = config_ctrl_pnl.currently_toedit
self.Destroy()
评论列表
文章目录