Форум сайта python.su
На Raspberry есть программа Pronterface. Нужно частично управление перенести на блок тактовых кнопок. Возникла проблема с кнопкой подключения принтера. За подключение принтера в GUI отвечает кнопка Connect, прописанная в коде как connectbtn.
wx.CallAfter(self.connectbtn.SetLabel, _("Connect")) wx.CallAfter(self.connectbtn.SetToolTip, wx.ToolTip(_("Connect to the printer"))) wx.CallAfter(self.connectbtn.Bind, wx.EVT_BUTTON, self.connect) wx.CallAfter(self.gui_set_disconnected)
def connect(self, event = None): self.log(_("Connecting...")) port = None if self.serialport.GetValue(): port = str(self.serialport.GetValue()) else: scanned = self.scanserial() if scanned: port = scanned[0] baud = 115200 try: baud = int(self.baud.GetValue()) except: self.logError(_("Could not parse baud rate: ") + "\n" + traceback.format_exc()) if self.paused: self.p.paused = 0 self.p.printing = 0 wx.CallAfter(self.pausebtn.SetLabel, _("Pause")) wx.CallAfter(self.printbtn.SetLabel, _("Print")) wx.CallAfter(self.toolbarsizer.Layout) self.paused = 0 if self.sdprinting: self.p.send_now("M26 S0") if not self.connect_to_printer(port, baud, self.settings.dtr): return if port != self.settings.port: self.set("port", port) if baud != self.settings.baudrate: self.set("baudrate", str(baud)) if self.predisconnect_mainqueue: self.recoverbtn.Enable()
GPIO.setmode(GPIO.BCM) GPIO.setup(23,GPIO.IN) while True: if GPIO.input(23): self.connect() else: break time.sleep(0.1)
Прикреплённый файлы: pronterface.py (98,3 KБ)
Офлайн