configtool: add homing to GUI
This commit is contained in:
parent
20dd299c7a
commit
08b95047df
|
|
@ -13,6 +13,8 @@ class MechanicalPage(wx.Panel, Page):
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
self.font = font
|
self.font = font
|
||||||
|
|
||||||
|
self.homing = []
|
||||||
|
|
||||||
self.spmKeys = [
|
self.spmKeys = [
|
||||||
"STEPS_PER_M_X",
|
"STEPS_PER_M_X",
|
||||||
"STEPS_PER_M_Y",
|
"STEPS_PER_M_Y",
|
||||||
|
|
@ -39,6 +41,13 @@ class MechanicalPage(wx.Panel, Page):
|
||||||
|
|
||||||
self.kinematicsKeys = ["KINEMATICS_STRAIGHT", "KINEMATICS_COREXY"]
|
self.kinematicsKeys = ["KINEMATICS_STRAIGHT", "KINEMATICS_COREXY"]
|
||||||
|
|
||||||
|
self.homingKeys = [
|
||||||
|
"HOMING_STEP1",
|
||||||
|
"HOMING_STEP2",
|
||||||
|
"HOMING_STEP3",
|
||||||
|
"HOMING_STEP4",
|
||||||
|
]
|
||||||
|
|
||||||
self.labels = {
|
self.labels = {
|
||||||
"STEPS_PER_M_X": "X:",
|
"STEPS_PER_M_X": "X:",
|
||||||
"STEPS_PER_M_Y": "Y:",
|
"STEPS_PER_M_Y": "Y:",
|
||||||
|
|
@ -63,6 +72,17 @@ class MechanicalPage(wx.Panel, Page):
|
||||||
"E_ABSOLUTE": "Absolute E Coordinates",
|
"E_ABSOLUTE": "Absolute E Coordinates",
|
||||||
"KINEMATICS_STRAIGHT": "Straight",
|
"KINEMATICS_STRAIGHT": "Straight",
|
||||||
"KINEMATICS_COREXY": "CoreXY",
|
"KINEMATICS_COREXY": "CoreXY",
|
||||||
|
"HOMING_STEP1": "Step 1:",
|
||||||
|
"HOMING_STEP2": "Step 2:",
|
||||||
|
"HOMING_STEP3": "Step 3:",
|
||||||
|
"HOMING_STEP4": "Step 4:",
|
||||||
|
"none": "-",
|
||||||
|
"x_negative": "X min",
|
||||||
|
"x_positive": "X max",
|
||||||
|
"y_negative": "Y min",
|
||||||
|
"y_positive": "Y max",
|
||||||
|
"z_negative": "Z min",
|
||||||
|
"z_positive": "Z max",
|
||||||
}
|
}
|
||||||
|
|
||||||
labelWidth = 40
|
labelWidth = 40
|
||||||
|
|
@ -167,6 +187,16 @@ class MechanicalPage(wx.Panel, Page):
|
||||||
|
|
||||||
sz.Add(bsz, pos=(1, 3))
|
sz.Add(bsz, pos=(1, 3))
|
||||||
|
|
||||||
|
b = wx.StaticBox(self, wx.ID_ANY, "Homing Order")
|
||||||
|
b.SetFont(font)
|
||||||
|
sbox = wx.StaticBoxSizer(b, wx.VERTICAL)
|
||||||
|
sbox.Add((5, 5))
|
||||||
|
for k in self.homingKeys:
|
||||||
|
tc = self.addChoice(k, self.homing, 0, labelWidth + 20, self.onChoice)
|
||||||
|
sbox.Add(tc)
|
||||||
|
sbox.Add((5, 5))
|
||||||
|
sz.Add(sbox, pos=(3, 3))
|
||||||
|
|
||||||
self.enableAll(False)
|
self.enableAll(False)
|
||||||
self.SetSizer(sz)
|
self.SetSizer(sz)
|
||||||
|
|
||||||
|
|
@ -203,6 +233,15 @@ class MechanicalPage(wx.Panel, Page):
|
||||||
for k in self.kinematicsKeys:
|
for k in self.kinematicsKeys:
|
||||||
self.radioButtons[k].SetToolTip(ht["KINEMATICS"])
|
self.radioButtons[k].SetToolTip(ht["KINEMATICS"])
|
||||||
|
|
||||||
|
def setCandidateHomingOptions(self, hlist):
|
||||||
|
for k in self.homingKeys:
|
||||||
|
self.choices[k].Clear()
|
||||||
|
self.choices[k].AppendItems(hlist)
|
||||||
|
self.homingOptions = hlist
|
||||||
|
|
||||||
|
def setHoming(self, homing):
|
||||||
|
self.homing = homing
|
||||||
|
|
||||||
def insertValues(self, cfgValues):
|
def insertValues(self, cfgValues):
|
||||||
Page.insertValues(self, cfgValues)
|
Page.insertValues(self, cfgValues)
|
||||||
|
|
||||||
|
|
@ -210,6 +249,13 @@ class MechanicalPage(wx.Panel, Page):
|
||||||
if tag in cfgValues.keys() and cfgValues[tag]:
|
if tag in cfgValues.keys() and cfgValues[tag]:
|
||||||
self.radioButtons[tag].SetValue(True)
|
self.radioButtons[tag].SetValue(True)
|
||||||
|
|
||||||
|
for i, k in enumerate(self.homingKeys):
|
||||||
|
try:
|
||||||
|
index = self.homingOptions.index(self.homing[i])
|
||||||
|
self.choices[k].SetSelection(index)
|
||||||
|
except IndexError:
|
||||||
|
self.choices[k].SetSelection(0)
|
||||||
|
|
||||||
def getValues(self):
|
def getValues(self):
|
||||||
result = Page.getValues(self)
|
result = Page.getValues(self)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -198,7 +198,10 @@ class PrinterPanel(wx.Panel):
|
||||||
else:
|
else:
|
||||||
self.protFileLoaded = False
|
self.protFileLoaded = False
|
||||||
self.parent.enableSavePrinter(True, True)
|
self.parent.enableSavePrinter(True, True)
|
||||||
|
|
||||||
self.parent.setPrinterTabFile(os.path.basename(fn))
|
self.parent.setPrinterTabFile(os.path.basename(fn))
|
||||||
|
self.pgMech.setCandidateHomingOptions(self.printer.candHomingOptions)
|
||||||
|
self.pgMech.setHoming(self.printer.homing)
|
||||||
|
|
||||||
for pg in self.pages:
|
for pg in self.pages:
|
||||||
pg.insertValues(self.printer.cfgValues)
|
pg.insertValues(self.printer.cfgValues)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue