From 062947356f25f177f765c0fddd07b0f1a1870735 Mon Sep 17 00:00:00 2001 From: iabdalkader Date: Fri, 6 May 2016 23:47:07 +0200 Subject: [PATCH] Add an option to erase the filesystem sectors. --- usr/openmv-ide.glade | 28 ++++++++++++++++++++++++++++ usr/openmv-ide.py | 13 ++++++++++--- 2 files changed, 38 insertions(+), 3 deletions(-) diff --git a/usr/openmv-ide.glade b/usr/openmv-ide.glade index 95a411a9c..11e8dcd47 100644 --- a/usr/openmv-ide.glade +++ b/usr/openmv-ide.glade @@ -128,6 +128,8 @@ Kwabena W. Agyeman Update Firmware True center-on-parent + 430 + 162 True dialog @@ -230,6 +232,32 @@ Kwabena W. Agyeman 2 + + + True + False + + + Erase Filesystem + True + True + False + True + True + + + True + True + 0 + + + + + True + True + 3 + + diff --git a/usr/openmv-ide.py b/usr/openmv-ide.py index 5d66f3c47..2acf0c00e 100755 --- a/usr/openmv-ide.py +++ b/usr/openmv-ide.py @@ -70,6 +70,7 @@ class Bootloader: self.ok_button = builder.get_object("fw_ok_button") self.cancel_button = builder.get_object("fw_cancel_button") + self.erase_fs_check = builder.get_object("erase_fs_check") # Connect signals self.dialog.connect("close", self.on_dialog_close) @@ -153,8 +154,9 @@ class Bootloader: def task_erase(self, state): sector = state["sector"] - state["bar"].set_fraction((sector-FLASH_SECTOR_START+1)/float(FLASH_SECTOR_END-FLASH_SECTOR_START+1)) - state["bar"].set_text("Erasing sector %d/%d"%((sector-FLASH_SECTOR_START+1), FLASH_SECTOR_END-FLASH_SECTOR_START+1)) + sector_offset = state["sector_offset"] + state["bar"].set_fraction((sector-sector_offset+1)/float(FLASH_SECTOR_END-sector_offset+1)) + state["bar"].set_text("Erasing sector %d/%d"%((sector-sector_offset+1), FLASH_SECTOR_END-sector_offset+1)) openmv.flash_erase(sector) sector += 1 if (sector == FLASH_SECTOR_END+1): @@ -204,7 +206,12 @@ class Bootloader: self.last_fw_path = fw_path self.config.set("main", "last_fw_path", self.last_fw_path) - self.state={ "next":self.task_init, "buf":buf, "sector":FLASH_SECTOR_START, + 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