|
From: <zw...@ma...> - 2009-06-03 02:24:27
|
Author: zwelch
Date: 2009-06-03 02:24:21 +0200 (Wed, 03 Jun 2009)
New Revision: 2010
Modified:
trunk/src/jtag/interface.h
trunk/src/jtag/jtag.c
Log:
Split and simplify handle_tms_sequence_command for further factoring.
Modified: trunk/src/jtag/interface.h
===================================================================
--- trunk/src/jtag/interface.h 2009-06-03 00:17:42 UTC (rev 2009)
+++ trunk/src/jtag/interface.h 2009-06-03 00:24:21 UTC (rev 2010)
@@ -167,6 +167,9 @@
/// Provides user-friendly name lookup of TAP states.
tap_state_t tap_state_by_name(const char *name);
+/// Allow switching between old and new TMS tables. @see tap_get_tms_path
+void tap_use_new_tms_table(bool use_new);
+
#ifdef _DEBUG_JTAG_IO_
/**
* @brief Prints verbose TAP state transitions for the given TMS/TDI buffers.
Modified: trunk/src/jtag/jtag.c
===================================================================
--- trunk/src/jtag/jtag.c 2009-06-03 00:17:42 UTC (rev 2009)
+++ trunk/src/jtag/jtag.c 2009-06-03 00:24:21 UTC (rev 2010)
@@ -3223,24 +3223,27 @@
}
#endif // _DEBUG_JTAG_IO_
+void tap_use_new_tms_table(bool use_new)
+{
+ tms_seqs = use_new ? &short_tms_seqs : &old_tms_seqs;
+}
+
static int handle_tms_sequence_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
+ if (argc > 1)
+ return ERROR_COMMAND_SYNTAX_ERROR;
+
if (argc == 1)
{
+ bool use_new_table;
if (strcmp(args[0], "short") == 0)
- {
- tms_seqs=&short_tms_seqs;
- }
+ use_new_table = true;
else if (strcmp(args[0], "long") == 0)
- {
- tms_seqs=&old_tms_seqs;
- } else
- {
+ use_new_table = false;
+ else
return ERROR_COMMAND_SYNTAX_ERROR;
- }
- } else if (argc != 0)
- {
- return ERROR_COMMAND_SYNTAX_ERROR;
+
+ tap_use_new_tms_table(use_new_table);
}
command_print(cmd_ctx, "tms sequence is %s", (tms_seqs==&short_tms_seqs) ? "short": "long");
|