#include "config.h"
#endif
+#include <helper/log.h>
+#include <helper/binarybuffer.h>
+
#include "target.h"
#include "target_request.h"
#include "target_type.h"
-#include <helper/binarybuffer.h>
#include "trace.h"
-#include "log.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;
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)
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
};