From ce23ff695460f6a1c4142b88cea237e715ebdad2 Mon Sep 17 00:00:00 2001 From: Maximilian Rehkopf Date: Wed, 7 Nov 2012 09:27:00 +0100 Subject: [PATCH] Firmware/CLI: add memset command, rename 'resume' to 'exit' --- src/cli.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/cli.c b/src/cli.c index 7e8d78c..3ebe838 100644 --- a/src/cli.c +++ b/src/cli.c @@ -58,8 +58,8 @@ static char *curchar; /* Word lists */ static char command_words[] = - "cd\0reset\0sreset\0dir\0ls\0test\0resume\0loadrom\0loadraw\0saveraw\0put\0rm\0mkdir\0d4\0vmode\0mapper\0settime\0time\0setfeature\0hexdump\0w8\0w16\0"; -enum { CMD_CD = 0, CMD_RESET, CMD_SRESET, CMD_DIR, CMD_LS, CMD_TEST, CMD_RESUME, CMD_LOADROM, CMD_LOADRAW, CMD_SAVERAW, CMD_PUT, CMD_RM, CMD_MKDIR, CMD_D4, CMD_VMODE, CMD_MAPPER, CMD_SETTIME, CMD_TIME, CMD_SETFEATURE, CMD_HEXDUMP, CMD_W8, CMD_W16 }; + "cd\0reset\0sreset\0dir\0ls\0test\0exit\0loadrom\0loadraw\0saveraw\0put\0rm\0mkdir\0d4\0vmode\0mapper\0settime\0time\0setfeature\0hexdump\0w8\0w16\0memset\0"; +enum { CMD_CD = 0, CMD_RESET, CMD_SRESET, CMD_DIR, CMD_LS, CMD_TEST, CMD_EXIT, CMD_LOADROM, CMD_LOADRAW, CMD_SAVERAW, CMD_PUT, CMD_RM, CMD_MKDIR, CMD_D4, CMD_VMODE, CMD_MAPPER, CMD_SETTIME, CMD_TIME, CMD_SETFEATURE, CMD_HEXDUMP, CMD_W8, CMD_W16, CMD_MEMSET }; /* ------------------------------------------------------------------------- */ /* Parse functions */ @@ -420,6 +420,13 @@ void cmd_w16(void) { sram_writeshort(val, offset); } +void cmd_memset(void) { + uint32_t offset = parse_unsigned(0, 16777215, 16); + uint32_t len = parse_unsigned(0, 16777216, 16); + uint8_t val = parse_unsigned(0, 255, 16); + sram_memset(offset, len, val); +} + /* ------------------------------------------------------------------------- */ /* CLI interface functions */ /* ------------------------------------------------------------------------- */ @@ -502,7 +509,7 @@ void cli_loop(void) { cmd_show_directory(); break; - case CMD_RESUME: + case CMD_EXIT: return; break; @@ -569,7 +576,11 @@ void cli_loop(void) { case CMD_W16: cmd_w16(); break; - } + case CMD_MEMSET: + cmd_memset(); + break; + + } } }