Skip to content

Commit 3df6198

Browse files
committed
rpc_wrappers: data_logger_erase: force erase option
Support the force erase option recently added to the embedded implementation. Signed-off-by: Jordan Yates <jordan@embeint.com>
1 parent de3bc6d commit 3df6198

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

src/infuse_iot/rpc_wrappers/data_logger_erase.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,17 @@ def add_parser(cls, parser):
1111
logger = parser.add_mutually_exclusive_group(required=True)
1212
logger.add_argument("--onboard", action="store_true", help="Onboard flash logger")
1313
logger.add_argument("--removable", action="store_true", help="Removable flash logger (SD)")
14-
parser.add_argument(
14+
erase_mode = parser.add_mutually_exclusive_group()
15+
erase_mode.add_argument(
1516
"--erase-all",
1617
action="store_true",
1718
help="Erase entire address space, not just written blocks",
1819
)
20+
erase_mode.add_argument(
21+
"--erase-force",
22+
action="store_true",
23+
help="Erase entire address space, even if logger init failed",
24+
)
1925
# Erasing a complete flash chip can take a long time
2026
parser.add_argument("--timeout", type=int, default=60000, help="Duration to wait for erase to complete")
2127

@@ -28,7 +34,7 @@ def __init__(self, args):
2834
self.logger = defs.rpc_enum_data_logger.FLASH_REMOVABLE
2935
else:
3036
raise NotImplementedError
31-
self.erase_all = 1 if args.erase_all else 0
37+
self.erase_all = 1 if args.erase_all else (0xAA if args.erase_force else 0)
3238

3339
def command_timeout_ms(self) -> int:
3440
return self.timeout

0 commit comments

Comments
 (0)