def on_dialog_response(self, dialog, response, *args): if response == gtk.RESPONSE_OK: self.ok_button.set_sensitive(False) self.fw_path_button.set_sensitive(False) fw_path = self.fw_path_entry.get_text() try: with open(fw_path, 'rb') as f: buf = f.read() except Exception as e: self.show_message_dialog(gtk.MESSAGE_ERROR, "Failed to open file %s" % str(e)) self.dialog.hide() return self.last_fw_path = fw_path self.config.set("main", "last_fw_path", self.last_fw_path) if self.erase_fs_check.get_active(): sector_offset = FLASH_SECTOR_START else: sector_offset = FLASH_SECTOR_START + 3 self.state = { "next": self.task_init, "buf": buf, "sector": sector_offset, "sector_offset": sector_offset, "bar": self.fw_progress, "dialog": self.dialog, "xfer_bytes": 0, "xfer_total": len(buf) } self.flash_msg = 1 self.running = True # Reset the camera if it's connected, this way the bootloader # runs without disconnecting and reconnecting the camera. try: openmv.reset() except: pass gobject.gobject.idle_add(self.task, self.state) else: self.dialog.hide() self.running = False
def on_dialog_response(self, dialog, response, *args): if response == gtk.RESPONSE_OK: self.ok_button.set_sensitive(False) self.fw_path_button.set_sensitive(False) fw_path = self.fw_path_entry.get_text() try: with open(fw_path, 'rb') as f: buf = f.read() except Exception as e: self.show_message_dialog(gtk.MESSAGE_ERROR, "Failed to open file %s"%str(e)) self.dialog.hide() return self.last_fw_path = fw_path self.config.set("main", "last_fw_path", self.last_fw_path) if self.erase_fs_check.get_active(): sector_offset = FLASH_SECTOR_START else: sector_offset = FLASH_SECTOR_START + 3 self.state={ "next":self.task_init, "buf":buf, "sector":sector_offset, "sector_offset": sector_offset, "bar":self.fw_progress, "dialog":self.dialog, "xfer_bytes":0, "xfer_total":len(buf)} self.flash_msg = 1 self.running = True # Reset the camera if it's connected, this way the bootloader # runs without disconnecting and reconnecting the camera. try: openmv.reset() except: pass gobject.gobject.idle_add(self.task, self.state) else: self.dialog.hide() self.running = False
def do_disconnect(self): if self.connected: self.connected = False self.update_ui() self.framebuffer.stop_updater() openmv.stop_script() sleep(0.2) # release OpenMV openmv.release() sleep(0.2) openmv.reset() sleep(0.2) self.connector.start() self.statusBar().showMessage('Camera disconnected.') try: if self.serial and self.serial.isOpen(): print('Disconnecting terminal') self.serial.close() self.terminal.reset() except IOError as e: print('error disconnecting OpenMV Serial: %s' % e)
def reset_clicked(self, widget): if (self.connected): openmv.reset()
def bootloader_clicked(self, widget): if (self.connected): openmv.reset() self.bootloader.run()