/*
* (C) Copyright 2014 Leo C. <erbl259-lmu@yahoo.de>
*
- * SPDX-License-Identifier: GPL-2.0+
+ * SPDX-License-Identifier: GPL-2.0
*/
-#include "common.h"
-//#include <stdlib.h>
+#include "cmd_sd.h"
-#include "command.h"
#include "diskio.h"
#include "ff.h"
#include "eval_arg.h"
*
*/
static
-command_ret_t do_status(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_status(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * const argv[])
{
DSTATUS res;
BYTE dev;
*
*/
static
-command_ret_t do_init(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_init(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * const argv[])
{
DSTATUS res;
BYTE dev;
*
*/
static
-command_ret_t do_info(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_info(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * const argv[])
{
DSTATUS res;
BYTE dev;
*
*/
static
-command_ret_t do_dump(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_dump(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * const argv[])
{
static BYTE dev_last;
static DWORD sec_last;
- BYTE buffer[_MAX_SS];
+ BYTE buffer[FF_MAX_SS];
char header[20];
DRESULT res;
}
sprintf_P(header, PSTR("Sector: %lu"), sec);
- dump_ram(buffer, 0, _MAX_SS, header);
+ dump_ram(buffer, 0, FF_MAX_SS, header);
}
dev_last = dev;
sec_last = sec;
*
*/
static
-command_ret_t do_read(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_read(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * const argv[])
{
DRESULT res;
BYTE dev;
DWORD sec;
uint32_t addr;
int count, nr;
- BYTE buffer[_MAX_SS];
+ BYTE buffer[FF_MAX_SS];
static DWORD sec_last;
static uint32_t addr_last;
my_puts_P(PSTR("Bus timeout\n"));
return CMD_RET_FAILURE;
}
- z80_write_block(buffer, addr /*+ base*/, _MAX_SS);
+ z80_write_block(buffer, addr /*+ base*/, FF_MAX_SS);
z80_bus_cmd(Release);
- sec++; addr += _MAX_SS;
+ sec++; addr += FF_MAX_SS;
} else
break;
}
*
*/
static
-command_ret_t do_write(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_write(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * const argv[])
{
DRESULT res;
BYTE dev;
DWORD sec;
uint32_t addr;
int count, nr;
- BYTE buffer[_MAX_SS];
+ BYTE buffer[FF_MAX_SS];
static DWORD sec_last;
static uint32_t addr_last;
my_puts_P(PSTR("Bus timeout\n"));
return CMD_RET_FAILURE;
}
- z80_read_block(buffer, addr /*+ base*/, _MAX_SS);
+ z80_read_block(buffer, addr /*+ base*/, FF_MAX_SS);
z80_bus_cmd(Release);
res = disk_write(dev, buffer, sec, 1);
if (res != RES_OK)
break;
- sec++; addr += _MAX_SS;
+ sec++; addr += FF_MAX_SS;
}
printf_P(PSTR("%d sector(s) written, rc=%.2x.\n"), nr, res);
*
*/
static
-command_ret_t do_ioctl_sync(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_ioctl_sync(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * const argv[])
{
BYTE dev;
}
-static
-command_ret_t do_help(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
-
-cmd_tbl_t cmd_sd_sub[] = {
+cmd_tbl_t cmd_tbl_sd[] = {
CMD_TBL_ITEM(
- status, 2, 1, do_status,
+ status, 2, CTBL_RPT, do_status,
"Socket staus",
"drive"
),
CMD_TBL_ITEM(
- init, 2, 1, do_init,
+ init, 2, CTBL_RPT, do_init,
"Initialize disk",
"drive"
),
CMD_TBL_ITEM(
- info, 2, 1, do_info,
+ info, 2, CTBL_RPT, do_info,
"Disk info",
"drive"
),
CMD_TBL_ITEM(
- dump, CONFIG_SYS_MAXARGS, 1, do_dump,
+ dump, CONFIG_SYS_MAXARGS, CTBL_RPT, do_dump,
"Dump sector(s)",
"drive [sector [count ]]"
),
CMD_TBL_ITEM(
- read, 2, 1, do_read,
+ read, 2, CTBL_RPT, do_read,
"Read disk sector(s) into meomory",
"drive [sector [count [memaddr]]]"
),
CMD_TBL_ITEM(
- write, 2, 1, do_write,
+ write, 2, CTBL_RPT, do_write,
"Write sector(s) from meomory to disk",
"drive [sector [count [memaddr]]]"
),
CMD_TBL_ITEM(
- sync, 2, 1, do_ioctl_sync,
+ sync, 2, CTBL_RPT, do_ioctl_sync,
"Device control: SYNC",
"drive"
),
CMD_TBL_ITEM(
- help, CONFIG_SYS_MAXARGS, 1, do_help,
+ help, CONFIG_SYS_MAXARGS, CTBL_RPT, do_help,
"Print sub command description/usage",
"\n"
" - print brief description of all sub commands\n"
#ifdef CONFIG_SYS_LONGHELP
FSTR(""),
#endif /* CONFIG_SYS_LONGHELP */
+ NULL,
#ifdef CONFIG_AUTO_COMPLETE
- 0,
+ NULL,
#endif
},
+/* Mark end of table */
+CMD_TBL_END(cmd_tbl_sd)
};
-static
-command_ret_t do_help(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
-{
- return _do_help(cmd_sd_sub, ARRAY_SIZE(cmd_sd_sub), cmdtp, flag, argc, argv);
-}
-
-command_ret_t do_sd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+command_ret_t do_sd(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * const argv[])
{
- cmd_tbl_t *cp;
-
- if (argc < 2)
- return CMD_RET_USAGE;
-
- /* drop initial "sd" arg */
- argc--;
- argv++;
-
- cp = find_cmd_tbl(argv[0], cmd_sd_sub, ARRAY_SIZE(cmd_sd_sub));
-
- if (cp)
- return cp->cmd(cmdtp, flag, argc, argv);
-
+ puts_P(PSTR("Huch?"));
return CMD_RET_USAGE;
}