summaryrefslogtreecommitdiff
path: root/avr/cmd_sd.c
diff options
context:
space:
mode:
Diffstat (limited to 'avr/cmd_sd.c')
-rw-r--r--avr/cmd_sd.c49
1 files changed, 25 insertions, 24 deletions
diff --git a/avr/cmd_sd.c b/avr/cmd_sd.c
index 6b75d6e..b84c4be 100644
--- a/avr/cmd_sd.c
+++ b/avr/cmd_sd.c
@@ -5,13 +5,14 @@
*/
#include "common.h"
-#include <stdlib.h>
+//#include <stdlib.h>
#include "command.h"
#include "diskio.h"
#include "ff.h"
-#include "z80-if.h"
+#include "eval_arg.h"
#include "print-utils.h"
+#include "z80-if.h"
/*
@@ -29,7 +30,7 @@ command_ret_t do_status(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[
if (argc < 2)
return CMD_RET_USAGE;
- dev = (BYTE) strtoul(argv[1], 0, 10);
+ dev = (BYTE) eval_arg(argv[1], NULL);
res = disk_status(dev);
printf_P(PSTR("Socket status: %02x\n"), res);
@@ -51,7 +52,7 @@ command_ret_t do_init(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
if (argc < 2)
return CMD_RET_USAGE;
- dev = (BYTE) strtoul(argv[1], 0, 10);
+ dev = (BYTE) eval_arg(argv[1], NULL);
if (disk_status(dev) & STA_NODISK) {
printf_P(PSTR("No Disk\n"));
@@ -88,7 +89,7 @@ command_ret_t do_info(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
if (argc < 2)
return CMD_RET_USAGE;
- dev = (BYTE) strtoul(argv[1], 0, 10);
+ dev = (BYTE) eval_arg(argv[1], NULL);
res = disk_status(dev);
if (res & (STA_NODISK | STA_NOINIT)) {
@@ -138,7 +139,7 @@ command_ret_t do_dump(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
if (argc < 2)
return CMD_RET_USAGE;
- dev = (BYTE) strtoul(argv[1], NULL, 10);
+ dev = (BYTE) eval_arg(argv[1], NULL);
if (dev != dev_last)
sec_last = 0;
sec = sec_last;
@@ -147,9 +148,9 @@ command_ret_t do_dump(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
if ((flag & CMD_FLAG_REPEAT) == 0) {
/* If another parameter, it is the sector to dump. */
if (argc > 2)
- sec = strtoul(argv[2], 0, 10);
+ sec = eval_arg(argv[2], NULL);
if (argc > 3)
- count = (UINT) strtoul(argv[3], 0, 10);
+ count = (UINT) eval_arg(argv[3], NULL);
}
for ( ; count; count--, sec++) {
@@ -191,7 +192,7 @@ command_ret_t do_read(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
if (argc < 2)
return CMD_RET_USAGE;
- dev = (BYTE) strtoul(argv[1], NULL, 10);
+ dev = (BYTE) eval_arg(argv[1], NULL);
sec = sec_last;
count = 1;
addr = addr_last;
@@ -199,11 +200,11 @@ command_ret_t do_read(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
if ((flag & CMD_FLAG_REPEAT) == 0) {
/* If another parameter, it is the sector to dump. */
if (argc > 2)
- sec = strtoul(argv[2], 0, 10);
+ sec = eval_arg(argv[2], NULL);
if (argc > 3)
- count = strtoul(argv[3], 0, 10);
+ count = eval_arg(argv[3], NULL);
if (argc > 4)
- addr = strtoul(argv[4], 0, 16);
+ addr = eval_arg(argv[4], NULL);
}
for (nr = 0; nr < count;) {
@@ -253,7 +254,7 @@ command_ret_t do_write(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]
if (argc < 2)
return CMD_RET_USAGE;
- dev = (BYTE) strtoul(argv[1], NULL, 10);
+ dev = (BYTE) eval_arg(argv[1], NULL);
sec = sec_last;
addr = addr_last;
count = 1;
@@ -261,11 +262,11 @@ command_ret_t do_write(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]
if ((flag & CMD_FLAG_REPEAT) == 0) {
/* If another parameter, it is the sector to dump. */
if (argc > 2)
- sec = strtoul(argv[2], 0, 10);
+ sec = eval_arg(argv[2], NULL);
if (argc > 3)
- count = strtoul(argv[3], 0, 10);
+ count = eval_arg(argv[3], NULL);
if (argc > 4)
- addr = strtoul(argv[4], 0, 16);
+ addr = eval_arg(argv[4], NULL);
}
for (nr = 0; nr < count;) {
@@ -308,7 +309,7 @@ command_ret_t do_ioctl_sync(cmd_tbl_t *cmdtp, int flag, int argc, char * const a
if (argc < 2)
return CMD_RET_USAGE;
- dev = (BYTE) strtoul(argv[1], 0, 10);
+ dev = (BYTE) eval_arg(argv[1], NULL);
printf_P(PSTR("rc=%.2x\n"), disk_ioctl(dev, CTRL_SYNC, 0));
return CMD_RET_SUCCESS;
@@ -322,37 +323,37 @@ cmd_tbl_t cmd_sd_sub[] = {
CMD_TBL_ITEM(
status, 2, 1, do_status,
"Socket staus",
- ""
+ "drive"
),
CMD_TBL_ITEM(
init, 2, 1, do_init,
"Initialize disk",
- ""
+ "drive"
),
CMD_TBL_ITEM(
info, 2, 1, do_info,
"Disk info",
- ""
+ "drive"
),
CMD_TBL_ITEM(
dump, CONFIG_SYS_MAXARGS, 1, do_dump,
"Dump sector(s)",
- "<drive> [sector [count ]]"
+ "drive [sector [count ]]"
),
CMD_TBL_ITEM(
read, 2, 1, do_read,
"Read disk sector(s) into meomory",
- "<drive> [sector [count [memaddr]]]"
+ "drive [sector [count [memaddr]]]"
),
CMD_TBL_ITEM(
write, 2, 1, do_write,
"Write sector(s) from meomory to disk",
- "<drive> [sector [count [memaddr]]]"
+ "drive [sector [count [memaddr]]]"
),
CMD_TBL_ITEM(
sync, 2, 1, do_ioctl_sync,
"Device control: SYNC",
- ""
+ "drive"
),
CMD_TBL_ITEM(