diff options
author | Øyvind Harboe <oyvind.harboe@zylin.com> | 2009-11-18 11:08:33 +0100 |
---|---|---|
committer | Øyvind Harboe <oyvind.harboe@zylin.com> | 2009-11-22 13:46:42 +0100 |
commit | 5c4a73d0d89989b7fbe260ed4fa00a8259e01b03 (patch) | |
tree | 3d18878370e72043657c0af494ee3fb2aad06115 | |
parent | 700a60ec573e9cfdbcac3c1c30ee5e94aeddfa6a (diff) | |
download | openocd_libswd-5c4a73d0d89989b7fbe260ed4fa00a8259e01b03.tar.gz openocd_libswd-5c4a73d0d89989b7fbe260ed4fa00a8259e01b03.tar.bz2 openocd_libswd-5c4a73d0d89989b7fbe260ed4fa00a8259e01b03.tar.xz openocd_libswd-5c4a73d0d89989b7fbe260ed4fa00a8259e01b03.zip |
zy1000: un-break uart command after command handler refactoring
Switched it to jim command to insulate it from command refactoring.
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
-rw-r--r-- | src/ecosboard.c | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/src/ecosboard.c b/src/ecosboard.c index 120b3f91..58520c33 100644 --- a/src/ecosboard.c +++ b/src/ecosboard.c @@ -845,21 +845,25 @@ void startUart(void) cyg_thread_resume(zylinjtag_uart_thread_handle); } -int handle_uart_command(struct command_context *cmd_ctx, char *cmd, - char **args, int argc) +static int zylinjtag_Jim_Command_uart(Jim_Interp *interp, int argc, + Jim_Obj * const *argv) { static int current_baud = 38400; - if (argc == 0) + if (argc == 1) { command_print(cmd_ctx, "%d", current_baud); - return ERROR_OK; + return JIM_OK; } - else if (argc != 1) + else if (argc != 2) { - return ERROR_INVALID_ARGUMENTS; + return JIM_ERR; } - current_baud = atol(args[0]); + long new_baudrate; + if (Jim_GetLong(interp, argv[1], &new_baudrate) != JIM_OK) + return JIM_ERR; + + current_baud = new_baudrate; int baud; switch (current_baud) @@ -898,7 +902,7 @@ int handle_uart_command(struct command_context *cmd_ctx, char *cmd, if (err != ENOERR) { LOG_ERROR("Could not open serial port\n"); - return ERROR_FAIL; + return JIM_ERR; } err = cyg_io_get_config(serial_handle, @@ -907,8 +911,8 @@ int handle_uart_command(struct command_context *cmd_ctx, char *cmd, &len); if (err != ENOERR) { - command_print(cmd_ctx, "Failed to get serial port settings %d", err); - return ERROR_OK; + LOG_ERROR("Failed to get serial port settings %d", err); + return JIM_ERR; } buf.baud = baud; @@ -916,11 +920,11 @@ int handle_uart_command(struct command_context *cmd_ctx, char *cmd, &len); if (err != ENOERR) { - command_print(cmd_ctx, "Failed to set serial port settings %d", err); - return ERROR_OK; + LOG_ERROR("Failed to set serial port settings %d", err); + return JIM_ERR; } - return ERROR_OK; + return JIM_OK; } bool logAllToSerial = false; @@ -1091,8 +1095,8 @@ int main(int argc, char *argv[]) COMMAND_ANY, NULL); #endif - register_command(cmd_ctx, NULL, "uart", handle_uart_command, COMMAND_ANY, - "uart <baud> - forward uart on port 5555"); + Jim_CreateCommand(interp, "uart", zylinjtag_Jim_Command_uart, NULL, NULL); + int errVal; errVal = log_init(cmd_ctx); |