Configtool: provide only free heater pins on heater creation.
This commit is contained in:
parent
b813df95ff
commit
dbf43c8e78
|
|
@ -72,12 +72,24 @@ class HeatersPage(wx.Panel, Page):
|
||||||
self.bDelete.Enable(True)
|
self.bDelete.Enable(True)
|
||||||
self.bModify.Enable(True)
|
self.bModify.Enable(True)
|
||||||
|
|
||||||
|
def getFreePins(self):
|
||||||
|
freePins = [] + self.validPins
|
||||||
|
usedPins = []
|
||||||
|
for s in self.heaters:
|
||||||
|
usedPins.append(s[1])
|
||||||
|
|
||||||
|
for p in usedPins:
|
||||||
|
if p in freePins:
|
||||||
|
freePins.remove(p)
|
||||||
|
|
||||||
|
return freePins
|
||||||
|
|
||||||
def doAdd(self, evt):
|
def doAdd(self, evt):
|
||||||
nm = []
|
nm = []
|
||||||
for s in self.heaters:
|
for s in self.heaters:
|
||||||
nm.append(s[0])
|
nm.append(s[0])
|
||||||
|
|
||||||
dlg = AddHeaterDlg(self, nm, self.validPins, self.font)
|
dlg = AddHeaterDlg(self, nm, self.getFreePins(), self.font)
|
||||||
rc = dlg.ShowModal()
|
rc = dlg.ShowModal()
|
||||||
if rc == wx.ID_OK:
|
if rc == wx.ID_OK:
|
||||||
ht = dlg.getValues()
|
ht = dlg.getValues()
|
||||||
|
|
@ -103,7 +115,7 @@ class HeatersPage(wx.Panel, Page):
|
||||||
|
|
||||||
h = self.heaters[self.selection]
|
h = self.heaters[self.selection]
|
||||||
|
|
||||||
dlg = AddHeaterDlg(self, nm, self.validPins, self.font,
|
dlg = AddHeaterDlg(self, nm, [h[1]] + self.getFreePins(), self.font,
|
||||||
name = h[0], pin = h[1], pwm = h[2])
|
name = h[0], pin = h[1], pwm = h[2])
|
||||||
rc = dlg.ShowModal()
|
rc = dlg.ShowModal()
|
||||||
if rc == wx.ID_OK:
|
if rc == wx.ID_OK:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue