X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/blobdiff_plain/0f3b947bda5f34662a611272b9f12199e0da9aca..fcf1d5b30bd3b341fb7596aef395f347c6dc97b4:/avr/command_tbl.c diff --git a/avr/command_tbl.c b/avr/command_tbl.c index ed14db9..ba92933 100644 --- a/avr/command_tbl.c +++ b/avr/command_tbl.c @@ -8,37 +8,36 @@ #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 []); +extern command_ret_t do_help(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_echo(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_sleep(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_env_print(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_env_default(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_env_set(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_env_save(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_loadf(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_bootcf(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_loadcpm3(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_loadihex(cmd_tbl_t *, uint_fast8_t, int, char * const []); #if defined(CONFIG_CMD_LOADB) -extern command_ret_t do_load_serial_bin(cmd_tbl_t *, int, int, char * const []); +extern command_ret_t do_load_serial_bin(cmd_tbl_t *, uint_fast8_t, 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_stat(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_fat_ls(cmd_tbl_t *, int, int, char * const []); -extern command_ret_t do_fat_rw(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_go(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_restart(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_console(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_dump_mem(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_mem_mm_avr(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_mem_nm_avr(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_eep_cp(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_busreq_pulse(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_date(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_gpio(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_sd(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_fat(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_run(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_source(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_attach(cmd_tbl_t *, uint_fast8_t, int, char * const []); +extern command_ret_t do_pr_free_avr(cmd_tbl_t *, uint_fast8_t, int, char * const []); #ifdef CONFIG_SYS_LONGHELP const FLASH char sd_help_text[] = @@ -89,6 +88,11 @@ CMD_TBL_ITEM( "avr memory modify (constant address)", "address" ), +CMD_TBL_ITEM( + !prfree, 2, 1, do_pr_free_avr, + "print avr heap free list", + "address" +), #endif CMD_TBL_ITEM( mstep, 2, 1, do_busreq_pulse, @@ -126,10 +130,10 @@ CMD_TBL_ITEM_COMPLETE( CMD_TBL_ITEM_COMPLETE( printenv, CONFIG_SYS_MAXARGS, 1, do_env_print, "print environment variables", - "\n" - " - print values of all environment variables\n" - "printenv name ...\n" - " - print value of environment variable 'name'", + "[-s] [name ...]\n" + " Print value of environment variable(s) 'name'\n" + " If no names are given, print values of all environment variables\n" + " -s Print in setenv form", var_complete ), CMD_TBL_ITEM_COMPLETE( @@ -264,22 +268,22 @@ CMD_TBL_ITEM( ), CMD_TBL_ITEM( - md, 3, 1, do_mem_md, + md, 3, CTBL_REPEAT, do_mem_md, "memory display", "address [# of objects]" ), CMD_TBL_ITEM( - mm, 2, 1, do_mem_mm, + mm, 2, CTBL_REPEAT, do_mem_mm, "memory modify (auto-incrementing address)", "address" ), CMD_TBL_ITEM( - nm, 2, 1, do_mem_nm, + nm, 2, CTBL_REPEAT, do_mem_nm, "memory modify (constant address)", "address" ), CMD_TBL_ITEM( - mw, CONFIG_SYS_MAXARGS, 1, do_mem_mw, + mw, CONFIG_SYS_MAXARGS, CTBL_REPEAT, do_mem_mw, "memory write (fill)", "[-bwl] address value [count]\n" " -b write value as byte (8 bit, default)\n" @@ -287,12 +291,12 @@ CMD_TBL_ITEM( " -l write value as long (32 bit)" ), CMD_TBL_ITEM( - cp, 4, 1, do_mem_cp, + cp, 4, CTBL_REPEAT, do_mem_cp, "memory copy", "source target count" ), CMD_TBL_ITEM( - cmp, 4, 1, do_mem_cmp, + cmp, 4, CTBL_REPEAT, do_mem_cmp, "memory compare", "addr1 addr2 count" ), @@ -305,19 +309,19 @@ CMD_TBL_ITEM( " - set address offset for memory commands to 'offset'" ), CMD_TBL_ITEM( - mloop, 3, 1, do_mem_loop, + mloop, 3, CTBL_REPEAT, do_mem_loop, "infinite loop on address range", "address number_of_bytes" ), CMD_TBL_ITEM( - mloopw, 4, 1, do_mem_loopw, + mloopw, 4, CTBL_REPEAT, 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_REPEAT, do_mem_mtest, "simple RAM read/write test", "[start [end [iterations]]]" ), @@ -325,12 +329,12 @@ CMD_TBL_ITEM( #ifdef CONFIG_MX_CYCLIC CMD_TBL_ITEM( - mdc, 4, 1, do_mem_mdc, + mdc, 4, CTBL_REPEAT, 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_REPEAT, do_mem_mdc, "memory write cyclic", "[-bwl] address value delay(ms)\n" " -b write value as byte (8 bit, default)\n" @@ -346,37 +350,16 @@ CMD_TBL_ITEM( "sd help\n" " - print help on subcommands" ), - -CMD_TBL_ITEM( - fatstat, 2, 1, do_fat_stat, - "Show logical drive status", - "dev" -), CMD_TBL_ITEM( - fatls, 2, 1, do_fat_ls, - "Directory listing", - "path" -), -CMD_TBL_ITEM( - fatload, 5, 0, do_fat_rw, - "load binary file from a dos filesystem", - " [bytes [pos]]\n" - " - Load binary file 'path/filename' on logical drive 'd'\n" - " to address 'addr' from dos filesystem.\n" - " 'pos' gives the file position to start loading from.\n" - " If 'pos' is omitted, 0 is used. 'pos' requires 'bytes'.\n" - " 'bytes' gives the size to load. If 'bytes' is 0 or omitted,\n" - " the load stops on end of file." -), -CMD_TBL_ITEM( - fatwrite, 4, 0, do_fat_rw, - "write file into a dos filesystem", - " \n" - " - Write file to 'path/filename' on logical drive 'd' from RAM\n" - " starting at address 'addr'.\n" + fat, CONFIG_SYS_MAXARGS, 1, do_fat, + "fat filesystem commands", + " args ...\n" + "fat help\n" + " - print help on subcommands" ), + CMD_TBL_ITEM( - attach, CONFIG_SYS_MAXARGS, 1, do_attach, + attach, CONFIG_SYS_MAXARGS, CTBL_REPEAT, 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" @@ -399,14 +382,14 @@ CMD_TBL_ITEM( " Without arguments, list current assignments\n" ), CMD_TBL_ITEM( - detach, 2, 1, do_attach, + detach, 2, CTBL_REPEAT, 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, CTBL_REPEAT, do_help, "print command description/usage", "\n" " - print brief description of all commands\n"