This is an automated email from Gerrit. "Tormod Volden <[email protected]>" just uploaded a new patch set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/9192
-- gerrit commit 4a1d9c650ee705e62a84d4956da86f6c4773ce83 Author: Tormod Volden <[email protected]> Date: Sat Nov 1 13:27:07 2025 +0100 RTT: Add start retry interval setting Change-Id: I2b892e175d484170b6e72669839c5d4f2de64504 Signed-off-by: Tormod Volden <[email protected]> diff --git a/src/rtt/rtt.c b/src/rtt/rtt.c index 3c7a966a79..c019a180e0 100644 --- a/src/rtt/rtt.c +++ b/src/rtt/rtt.c @@ -43,6 +43,7 @@ static struct { size_t sink_list_length; unsigned int polling_interval; + unsigned int start_retry_interval; } rtt; int rtt_init(void) @@ -58,6 +59,7 @@ int rtt_init(void) rtt.started = false; rtt.polling_interval = 100; + rtt.start_retry_interval = 0; return ERROR_OK; } @@ -285,6 +287,23 @@ int rtt_set_polling_interval(unsigned int interval) return ERROR_OK; } +int rtt_get_start_retry_interval(unsigned int *interval) +{ + if (!interval) + return ERROR_FAIL; + + *interval = rtt.start_retry_interval; + + return ERROR_OK; +} + +int rtt_set_start_retry_interval(unsigned int interval) +{ + rtt.start_retry_interval = interval; + + return ERROR_OK; +} + int rtt_write_channel(unsigned int channel_index, const uint8_t *buffer, size_t *length) { diff --git a/src/rtt/rtt.h b/src/rtt/rtt.h index d84fdb40b3..e56d45ccf1 100644 --- a/src/rtt/rtt.h +++ b/src/rtt/rtt.h @@ -184,8 +184,29 @@ int rtt_get_polling_interval(unsigned int *interval); * * @returns ERROR_OK on success, an error code on failure. */ + int rtt_set_polling_interval(unsigned int interval); +/** + * Get the start retry interval. + * + * @param[out] interval Start retry interval in milliseconds. + * + * @returns ERROR_OK on success, an error code on failure. + */ +int rtt_get_start_retry_interval(unsigned int *interval); + + +/** + * Set the start retry interval. + * + * @param[in] interval Start retry interval in milliseconds. + * + * @returns ERROR_OK on success, an error code on failure. + */ + +int rtt_set_start_retry_interval(unsigned int interval); + /** * Get whether RTT is configured. * diff --git a/src/rtt/tcl.c b/src/rtt/tcl.c index bae71b6ce5..691d22ea8c 100644 --- a/src/rtt/tcl.c +++ b/src/rtt/tcl.c @@ -103,6 +103,38 @@ COMMAND_HANDLER(handle_rtt_polling_interval_command) return ERROR_OK; } +COMMAND_HANDLER(handle_rtt_start_retry_interval_command) +{ + if (CMD_ARGC == 0) { + int ret; + unsigned int interval; + + ret = rtt_get_start_retry_interval(&interval); + + if (ret != ERROR_OK) { + command_print(CMD, "Failed to get start retry interval"); + return ret; + } + + command_print(CMD, "%u ms", interval); + } else if (CMD_ARGC == 1) { + int ret; + unsigned int interval; + + COMMAND_PARSE_NUMBER(uint, CMD_ARGV[0], interval); + ret = rtt_set_start_retry_interval(interval); + + if (ret != ERROR_OK) { + command_print(CMD, "Failed to set start retry interval"); + return ret; + } + } else { + return ERROR_COMMAND_SYNTAX_ERROR; + } + + return ERROR_OK; +} + COMMAND_HANDLER(handle_rtt_channels_command) { int ret; @@ -247,6 +279,13 @@ static const struct command_registration rtt_subcommand_handlers[] = { .help = "show or set polling interval in ms", .usage = "[interval]" }, + { + .name = "start_retry_interval", + .handler = handle_rtt_start_retry_interval_command, + .mode = COMMAND_EXEC, + .help = "show or set start retry interval in ms", + .usage = "[interval]" + }, { .name = "channels", .handler = handle_rtt_channels_command, --
