X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/blobdiff_plain/534e1dfcb2f6cdfa1cd62913045b832f2189b7aa..e39cd2a2822a410ba06d61657a467c8307daa35d:/avr/command_tbl.c diff --git a/avr/command_tbl.c b/avr/command_tbl.c index 2717a37..336c608 100644 --- a/avr/command_tbl.c +++ b/avr/command_tbl.c @@ -5,23 +5,70 @@ #include "cmd_mem.h" -extern int do_help(cmd_tbl_t *, int, int, char * const []); -extern int do_echo(cmd_tbl_t *, int, int, char * const []); -extern int do_env_print(cmd_tbl_t *, int, int, char * const []); -extern int do_env_set(cmd_tbl_t *, int, int, char * const []); -extern int do_loadf(cmd_tbl_t *, int, int, char * const []); -extern int do_go(cmd_tbl_t *, int, int, char * const []); -extern int do_restart(cmd_tbl_t *, int, int, char * const []); +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_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_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_pin(cmd_tbl_t *, int, int, char * const []); cmd_tbl_t cmd_tbl[] = { +CMD_TBL_ITEM( + date, 2, 1, do_date, + "get/set/reset date & time", + "[MMDDhhmm[[CC]YY][.ss]]\ndate reset\n" + " - without arguments: print date & time\n" + " - with numeric argument: set the system date & time\n" + " - with 'reset' argument: reset the RTC" +), + +#ifdef DEBUG +CMD_TBL_ITEM( + !mdr, 3, 1, do_dump_mem, + "RAM dump", + "address [count]" +), +CMD_TBL_ITEM( + !mde, 3, 1, do_dump_mem, + "EEPROM dump", + "address [count]" +), +CMD_TBL_ITEM( + !cpe, 4, 0, do_eep_cp, + "EEPROM copy", + "source target count" +), +#endif +CMD_TBL_ITEM( + mstep, 2, 1, do_busreq_pulse, + "execute one M cycle", + "[count]\n" + " - repeat count times" +), CMD_TBL_ITEM( echo, CONFIG_SYS_MAXARGS, 1, do_echo, "echo args to console", "[args..]\n" " - echo args to console; \\c suppresses newline" ), +CMD_TBL_ITEM( + sleep , 2, 1, do_sleep, + "delay execution for some time", + "N[m][s]\n" + " - delay execution for decimal N (milli) seconds" +), CMD_TBL_ITEM_COMPLETE( run, CONFIG_SYS_MAXARGS, 1, do_run, "run commands in an environment variable", @@ -47,14 +94,24 @@ CMD_TBL_ITEM_COMPLETE( " - delete environment variable 'name'", var_complete ), +CMD_TBL_ITEM( + saveenv, 1, 0, do_env_save, + "save environment variables to persistent storage", + "" +), +CMD_TBL_ITEM( + defaultenv, 1, 0, do_env_default, + "set all environment variables to their default values", + "" +), CMD_TBL_ITEM( - loadf, 1, 0, do_loadf, + loadf, 1, 0, do_loadf, "load srec_cat prepared image from controller flash", "" ), CMD_TBL_ITEM( - go, 2, 0, do_go, + go, 2, 0, do_go, "start application at address 'addr'", "addr\n" " - start application at address 'addr'" @@ -62,15 +119,61 @@ CMD_TBL_ITEM( // " passing 'arg' as arguments" ), CMD_TBL_ITEM( - reset, 1, 0, do_reset, + reset, 1, 0, do_reset, "Keep CPU in RESET state", "" ), CMD_TBL_ITEM( - restart, 1, 0, do_restart, + restart, 1, 1, do_restart, "Perform RESET of the CPU", "" ), +CMD_TBL_ITEM( + connect, 1, 1, do_console, + "Connect to CPU console i/o", + "" +), + +#if 0 +CMD_TBL_ITEM( + clock, 2, 0, do_clock, + "Set or get CPU frequency", + "\n" + " - print frequency or state of clock pin\n" + "clock value[K|M]\n" + " - set frequency of clock pin to value\n" + "clock [high|low]\n" + " - set clock pin level high or low" +), +CMD_TBL_ITEM( + clk2, 3, 0, do_clock2, + "Set or get clk2 frequency", + "\n" + " - print frequency or state of clk2 pin\n" + "clk2 [-d] value[K|M]\n" + " - set frequency of clk2 pin to value\n" + "clk2 [high|low]\n" + " - set clk2 pin level high or low" +), +#endif + +CMD_TBL_ITEM( + pin, CONFIG_SYS_MAXARGS, 0, do_pin, + "Set or query pin state", + "[-s] []\n" + " - print cofiguration and state or frequency of pins\n" + " print all pins, if argument is omitted\n" + "pin h[igh]|l[ow]\n" + " - config pins as output and set to level high or low\n" + "pin ts|i[n]|p[ullup]\n" + " - config pins as input/tristate or input with pullup\n" + "pin value[K|M][Hz]\n" + " - output a clock on pins\n" + " value is system clock divider or frequency, if 'Hz' is appended\n" + " divider is rounded down to next possible value (depends on pin)\n" + "\n" + " is a comma separated list of numbers or ranges, i.e. \"0,9,3-6\"\n" +), CMD_TBL_ITEM( md, 3, 1, do_mem_md,