X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/blobdiff_plain/0f3b947bda5f34662a611272b9f12199e0da9aca..b40024e18f0750418894d1b0cf3fcaf99ffb09a3:/avr/cmd_sd.c diff --git a/avr/cmd_sd.c b/avr/cmd_sd.c index b84c4be..06c9338 100644 --- a/avr/cmd_sd.c +++ b/avr/cmd_sd.c @@ -1,13 +1,11 @@ /* * (C) Copyright 2014 Leo C. * - * SPDX-License-Identifier: GPL-2.0+ + * SPDX-License-Identifier: GPL-2.0 */ -#include "common.h" -//#include +#include "cmd_sd.h" -#include "command.h" #include "diskio.h" #include "ff.h" #include "eval_arg.h" @@ -20,7 +18,7 @@ * */ 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; @@ -42,7 +40,7 @@ command_ret_t do_status(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[ * */ 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; @@ -73,7 +71,7 @@ command_ret_t do_init(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) * */ 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; @@ -122,11 +120,11 @@ command_ret_t do_info(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) * */ 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; @@ -162,7 +160,7 @@ command_ret_t do_dump(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) } 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; @@ -175,14 +173,14 @@ command_ret_t do_dump(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) * */ 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; @@ -214,9 +212,9 @@ command_ret_t do_read(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) 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; } @@ -237,14 +235,14 @@ command_ret_t do_read(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) * */ 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; @@ -275,13 +273,13 @@ command_ret_t do_write(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[] 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); @@ -300,7 +298,7 @@ command_ret_t do_write(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[] * */ 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; @@ -316,48 +314,45 @@ command_ret_t do_ioctl_sync(cmd_tbl_t *cmdtp, int flag, int argc, char * const a } -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" @@ -371,34 +366,18 @@ CMD_TBL_ITEM( #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; }