Example #1
0
    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
Example #2
0
    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
Example #3
0
    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)
Example #4
0
 def reset_clicked(self, widget):
     if (self.connected):
         openmv.reset()
 def bootloader_clicked(self, widget):
     if (self.connected):
         openmv.reset()
     self.bootloader.run()
Example #6
0
 def bootloader_clicked(self, widget):
     if (self.connected):
         openmv.reset()
     self.bootloader.run()