Split and simplify handle_tms_sequence_command for further factoring.
git-svn-id: svn://svn.berlios.de/openocd/trunk@2010 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
parent
2c69be13ea
commit
f0b1b206cd
|
@ -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.
|
||||
|
|
|
@ -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");
|
||||
|
|
Loading…
Reference in New Issue