X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/blobdiff_plain/c6a1984b8079fe67c45388517baa2588028c0183..0dd441e803f3563839541e7526f8294032aa7743:/avr/command_tbl.c diff --git a/avr/command_tbl.c b/avr/command_tbl.c index ce99134..1769714 100644 --- a/avr/command_tbl.c +++ b/avr/command_tbl.c @@ -7,43 +7,18 @@ #include "common.h" #include "command.h" #include "cmd_mem.h" - -extern command_ret_t do_help(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_echo(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_sleep(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_env_print(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_env_default(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_env_set(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_env_save(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_loadf(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_bootcf(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_loadcpm3(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_loadihex(cmd_tbl_t *, int, int, char * const []); -#if defined(CONFIG_CMD_LOADB) -extern command_ret_t do_load_serial_bin(cmd_tbl_t *, int, int, char * const []); -#endif -extern command_ret_t do_go(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_restart(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_console(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_dump_mem(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_mem_mm_avr(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_mem_nm_avr(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_eep_cp(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_busreq_pulse(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_date(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_gpio(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_sd(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_fat(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_run(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_source(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_attach(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_pr_free_avr(cmd_tbl_t *, int, int, char * const []); - -#ifdef CONFIG_SYS_LONGHELP -const FLASH char sd_help_text[] = - "bla \t- do bla\n" - ; -#endif /* CONFIG_SYS_LONGHELP */ +#include "cmd_boot.h" +#include "cmd_misc.h" +#include "cmd_date.h" +#include "cmd_run.h" +#include "cmd_loadcpm3.h" +#include "cmd_loadihex.h" +#include "cmd_gpio.h" +#include "cmd_sd.h" +#include "cmd_fat.h" +#include "cmd_attach.h" +#include "env.h" +#include "debug.h" cmd_tbl_t cmd_tbl[] = { @@ -59,39 +34,44 @@ CMD_TBL_ITEM( #ifdef DEBUG CMD_TBL_ITEM( - !mdr, 3, 1, do_dump_mem, + !mdr, 3, CTBL_DBG|CTBL_RPT, do_dump_mem, "RAM dump", "address [count]" ), CMD_TBL_ITEM( - !mde, 3, 1, do_dump_mem, + !mde, 3, CTBL_DBG|CTBL_RPT, do_dump_mem, "EEPROM dump", "address [count]" ), CMD_TBL_ITEM( - !mdf, 3, 1, do_dump_mem, + !mdf, 3, CTBL_DBG|CTBL_RPT, do_dump_mem, "FLASH dump", "address [count]" ), CMD_TBL_ITEM( - !cpe, 4, 0, do_eep_cp, + !cpe, 4, CTBL_DBG, do_eep_cp, "EEPROM copy", "source target count" ), CMD_TBL_ITEM( - !mm, 2, 1, do_mem_mm_avr, + !mm, 2, CTBL_DBG|CTBL_RPT, do_mem_mm_avr, "avr memory modify (auto-incrementing address)", "address" ), CMD_TBL_ITEM( - !nm, 2, 1, do_mem_nm_avr, + !nm, 2, CTBL_DBG|CTBL_RPT, do_mem_nm_avr, "avr memory modify (constant address)", "address" ), CMD_TBL_ITEM( - !prfree, 2, 1, do_pr_free_avr, + !prfree, 1, CTBL_DBG|CTBL_RPT, do_pr_free_avr, "print avr heap free list", - "address" + "" +), +CMD_TBL_ITEM( + !prheap, 1, CTBL_DBG, do_pr_heap_avr, + "dump avr heap", + "" ), #endif CMD_TBL_ITEM( @@ -268,22 +248,22 @@ CMD_TBL_ITEM( ), CMD_TBL_ITEM( - md, 3, 1, do_mem_md, + md, 3, CTBL_RPT, do_mem_md, "memory display", "address [# of objects]" ), CMD_TBL_ITEM( - mm, 2, 1, do_mem_mm, + mm, 2, CTBL_RPT, do_mem_mm, "memory modify (auto-incrementing address)", "address" ), CMD_TBL_ITEM( - nm, 2, 1, do_mem_nm, + nm, 2, CTBL_RPT, do_mem_nm, "memory modify (constant address)", "address" ), CMD_TBL_ITEM( - mw, CONFIG_SYS_MAXARGS, 1, do_mem_mw, + mw, CONFIG_SYS_MAXARGS, CTBL_RPT, do_mem_mw, "memory write (fill)", "[-bwl] address value [count]\n" " -b write value as byte (8 bit, default)\n" @@ -291,12 +271,12 @@ CMD_TBL_ITEM( " -l write value as long (32 bit)" ), CMD_TBL_ITEM( - cp, 4, 1, do_mem_cp, + cp, 4, CTBL_RPT, do_mem_cp, "memory copy", "source target count" ), CMD_TBL_ITEM( - cmp, 4, 1, do_mem_cmp, + cmp, 4, CTBL_RPT, do_mem_cmp, "memory compare", "addr1 addr2 count" ), @@ -309,19 +289,19 @@ CMD_TBL_ITEM( " - set address offset for memory commands to 'offset'" ), CMD_TBL_ITEM( - mloop, 3, 1, do_mem_loop, + mloop, 3, CTBL_RPT, do_mem_loop, "infinite loop on address range", "address number_of_bytes" ), CMD_TBL_ITEM( - mloopw, 4, 1, do_mem_loopw, + mloopw, 4, CTBL_RPT, do_mem_loopw, "infinite write loop on address range", "address number_of_bytes data_to_write" ), #ifdef CONFIG_CMD_MEMTEST CMD_TBL_ITEM( - mtest, 4, 1, do_mem_mtest, + mtest, 4, CTBL_RPT, do_mem_mtest, "simple RAM read/write test", "[start [end [iterations]]]" ), @@ -329,12 +309,12 @@ CMD_TBL_ITEM( #ifdef CONFIG_MX_CYCLIC CMD_TBL_ITEM( - mdc, 4, 1, do_mem_mdc, + mdc, 4, CTBL_RPT, do_mem_mdc, "memory display cyclic", "address count delay(ms)" ), CMD_TBL_ITEM( - mwc, CONFIG_SYS_MAXARGS, 1, do_mem_mdc, + mwc, CONFIG_SYS_MAXARGS, CTBL_RPT, do_mem_mdc, "memory write cyclic", "[-bwl] address value delay(ms)\n" " -b write value as byte (8 bit, default)\n" @@ -343,23 +323,25 @@ CMD_TBL_ITEM( ), #endif /* CONFIG_MX_CYCLIC */ -CMD_TBL_ITEM( - sd, CONFIG_SYS_MAXARGS, 1, do_sd, +CMD_TBL_ITEM_TOP( + sd, CONFIG_SYS_MAXARGS, CTBL_SUBCMDAUTO, do_sd, "SD/MMC card handling commands", " args ...\n" "sd help\n" - " - print help on subcommands" + " - print help on subcommands", + cmd_tbl_sd ), -CMD_TBL_ITEM( - fat, CONFIG_SYS_MAXARGS, 1, do_fat, +CMD_TBL_ITEM_TOP( + fat, CONFIG_SYS_MAXARGS, CTBL_SUBCMD|CTBL_SUBCMDAUTO, do_fat, "fat filesystem commands", " args ...\n" "fat help\n" - " - print help on subcommands" + " - print help on subcommands", + cmd_tbl_fat ), CMD_TBL_ITEM( - attach, CONFIG_SYS_MAXARGS, 1, do_attach, + attach, CONFIG_SYS_MAXARGS, CTBL_RPT, do_attach, "attach filesystem image file to CP/M drive", "[-rw] [-o options] dsk diskfile\n" " Attach diskfile to dsk, where n in 0..7\n" @@ -379,17 +361,17 @@ CMD_TBL_ITEM( " -a Detach all.\n" "\n" "attach\n" - " Without arguments, list current assignments\n" + " Without arguments, list current assignments" ), CMD_TBL_ITEM( - detach, 2, 1, do_attach, + detach, 2, 0, do_attach, "detach file from CP/M drive", "dsk]\n" " - alias for 'attach -d dsk'" ), CMD_TBL_ITEM( - help, CONFIG_SYS_MAXARGS, 1, do_help, + help, CONFIG_SYS_MAXARGS, 0, do_help, "print command description/usage", "\n" " - print brief description of all commands\n" @@ -403,10 +385,11 @@ CMD_TBL_ITEM( #ifdef CONFIG_SYS_LONGHELP FSTR(""), #endif /* CONFIG_SYS_LONGHELP */ + NULL, #ifdef CONFIG_AUTO_COMPLETE - 0, + NULL, #endif }, /* Mark end of table */ -{ 0 }, +CMD_TBL_END(cmd_tbl) };