#include "trace.h"
+static bool got_message = false;
+
+bool target_got_message(void)
+{
+ bool t = got_message;
+ got_message = false;
+ return t;
+}
+
static int charmsg_mode = 0;
static int target_asciimsg(struct target *target, uint32_t length)
{
target_req_cmd_t target_req_cmd = request & 0xff;
+ /* Record that we got a target message for back-off algorithm */
+ got_message = true;
+
if (charmsg_mode) {
target_charmsg(target, target_req_cmd);
return ERROR_OK;
struct debug_msg_receiver **p = &target->dbgmsg;
if (target == NULL)
- return ERROR_INVALID_ARGUMENTS;
+ return ERROR_COMMAND_SYNTAX_ERROR;
/* see if there's already a list */
if (*p)
static struct debug_msg_receiver* find_debug_msg_receiver(struct command_context *cmd_ctx, struct target *target)
{
int do_all_targets = 0;
- struct debug_msg_receiver **p = &target->dbgmsg;
/* if no target has been specified search all of them */
- if (target == NULL)
- {
+ if (target == NULL) {
/* if no targets haven been specified */
if (all_targets == NULL)
return NULL;
do_all_targets = 1;
}
- do
- {
+ /* so we target != null */
+ struct debug_msg_receiver **p = &target->dbgmsg;
+ do {
while (*p)
{
if ((*p)->cmd_ctx == cmd_ctx)
}
else
{
- command_print(CMD_CTX, "usage: target_request debugmsgs ['enable'|'disable'|'charmsg']");
+ return ERROR_COMMAND_SYNTAX_ERROR;
}
}
static const struct command_registration target_req_exec_command_handlers[] = {
{
.name = "debugmsgs",
- .handler = &handle_target_request_debugmsgs_command,
+ .handler = handle_target_request_debugmsgs_command,
.mode = COMMAND_EXEC,
- .help = "set reception of debug messages from target",
- .usage = "(enable|disable)",
+ .help = "display and/or modify reception of debug messages from target",
+ .usage = "['enable'|'charmsg'|'disable']",
},
COMMAND_REGISTRATION_DONE
};
.name = "target_request",
.mode = COMMAND_ANY,
.help = "target request command group",
+ .usage = "",
.chain = target_req_exec_command_handlers,
},
COMMAND_REGISTRATION_DONE