]> git.sur5r.net Git - openocd/commitdiff
Split and simplify handle_tms_sequence_command for further factoring.
authorzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Wed, 3 Jun 2009 00:24:21 +0000 (00:24 +0000)
committerzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Wed, 3 Jun 2009 00:24:21 +0000 (00:24 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@2010 b42882b7-edfa-0310-969c-e2dbd0fdcd60

src/jtag/interface.h
src/jtag/jtag.c

index 2f9f7373e4842986894c3303a1229653a5a3b249..db0dfb700b42ab2af669373817d9213d5ba9e400 100644 (file)
@@ -167,6 +167,9 @@ const char* tap_state_name(tap_state_t state);
 /// 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.
index 5fdc070ba8b061c9a61e913f7a6cdcaa4409a7e9..de4173e47075cf3dc056e27f87ab23863e2818f1 100644 (file)
@@ -3223,24 +3223,27 @@ tap_state_t jtag_debug_state_machine(const void *tms_buf, const void *tdi_buf,
 }
 #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");