)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1002158,"name":"Thiemo van Engelen","email":"tvanengelen@victronenergy.com","username":"ThiemoVanEngelen"},"change_message_id":"4c4983dc79c34384cb1280c180a34fd42ed68635","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"cb3ff009_24976137","updated":"2023-07-19 06:42:17.000000000","message":"I can imagine that these concerns exist. I will see if I can change the patch such that it is configurable. I guess this would be configurable either via an extra parameter to the rtt server start command or via an extra rtt server command?","commit_id":"698b768e43294bcd9259c0d863eb0d655cb08363"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"8dd088a3e7752b7e0feefa8ae1c95cd5f8caa965","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"5b81fa77_d76d47db","updated":"2023-07-09 21:25:36.000000000","message":"Thanks for your patch.\nUnfortunately I\u0027m unable to check it.\nMarc, Marcin, do you have any feedback?","commit_id":"698b768e43294bcd9259c0d863eb0d655cb08363"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"601142aff44e2628d47d2418da13723170c22ce9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"74eac983_99f2f74f","in_reply_to":"05e9ac67_ca3d7edd","updated":"2023-11-04 15:09:57.000000000","message":"Done","commit_id":"698b768e43294bcd9259c0d863eb0d655cb08363"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"7dde8333a49dc027445e892219ecc6e1f5e5f0d4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d8303291_7a2c4c6b","in_reply_to":"5b81fa77_d76d47db","updated":"2023-07-10 21:00:27.000000000","message":"I would like to test the patch. I hope I find some time on the weekend. Also I\u0027m not sure if we need to be compatible with the SEGGER RTT Viewer. What is your opinion on that?","commit_id":"698b768e43294bcd9259c0d863eb0d655cb08363"},{"author":{"_account_id":1002107,"name":"Marcin Niestroj","email":"m.niestroj@emb.dev","username":"mniestroj"},"change_message_id":"fb23e859a5b646886a8f903c498c858ab0bbefca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"42c66256_203fbbc3","in_reply_to":"a919fef4_e4f5d45c","updated":"2023-07-12 14:34:18.000000000","message":"I share the same concerns as Marc, regarding compatibility with existing software. Even if such software can be updated to ignore this \"welcome string\u0027, it is not easy to filter that out when there will be incoming data from RTT channel already. It will all look the same.\n\nI have tested this patch and indeed, RTT Viewer requires \"welcome string\". There is only about 50ms timeout (based on Wireshark TCP capture) after which it gives up. Seems quite low to me, so I am not fond of this mechanism overall.\n\nRTT Viewer has more differences compared to this \"welcome string\". Just after receiving it (and in the old versions of RTT Viewer, just after connecting over TCP) a configuration string is sent with requested RTT Channel (e.g. 0, 1, ...) and maybe some other stuff. This is something we don\u0027t respect in openocd right now and this information most probably is sent to the device (and either ignored or treated as a shell command). With openocd the selection of RTT channel is different, i.e. there is single TCP connection (single open listening TCP port) per single RTT channel. So we already are not 100% compatible with RTT Viewer.\n\nPersonally I use TCP connection directly and don\u0027t use any SEGGER tools. The main difference when using RTT for console/shell access would be just additional `OpenOCD RTT` string. However when collecting logs or in some CI system, it might be something that I would prefer not to have and not bother with filtering it out.\n\nTLDR; I would prefer to have it configurable and DO NOT send any \"welcome message\" by default.","commit_id":"698b768e43294bcd9259c0d863eb0d655cb08363"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"dd9cefbfb6c4af10b33c096a5c6ad4e92ba57178","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"05e9ac67_ca3d7edd","in_reply_to":"cb3ff009_24976137","updated":"2023-07-27 11:37:08.000000000","message":"I would prefer an extra option to keep the number of the \u0027start command\u0027 as low as possible.","commit_id":"698b768e43294bcd9259c0d863eb0d655cb08363"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"4b1f0cd8ce7d09ec8c73e6ebb73fee58040ac82d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"db501b63_a82acbd5","in_reply_to":"d8303291_7a2c4c6b","updated":"2023-07-10 21:10:22.000000000","message":"If the compatibility issue with Segger RTT Viewer is limited at adding this hello msg, why not. If later on it becomes more complex, then we could drop it.\nAnyway, I have never used this RTT feature, so I\u0027m not the right person to ask for it.","commit_id":"698b768e43294bcd9259c0d863eb0d655cb08363"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"cb847e9fc1c6645f226f92d5fb8ef63a3d5629cc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"a919fef4_e4f5d45c","in_reply_to":"db501b63_a82acbd5","updated":"2023-07-10 21:27:14.000000000","message":"I mean in theory adding a \u0027hello msg\u0027 could break existing setups using RTT, because there is an unexpected message now.","commit_id":"698b768e43294bcd9259c0d863eb0d655cb08363"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"cda96d9dd60c8eb220522e7feb9d0da0f0d7923e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"1c600600_18534612","updated":"2023-10-15 20:27:58.000000000","message":"I think adding an optional parameter to","commit_id":"441ecc14587cefcfb2d8f70337a6433dcf657c99"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"cda96d9dd60c8eb220522e7feb9d0da0f0d7923e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"4334b5b4_b0e35356","updated":"2023-10-15 20:27:58.000000000","message":"I think that adding an optional string to the command is a reasonable extension.\nMarc, is it ok for you too?\nI only have a minor rework to propose, below, about message storage.","commit_id":"441ecc14587cefcfb2d8f70337a6433dcf657c99"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"d791e333b4815122b0e3e65f1940a42d5596526a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"edc1725d_5b44f48c","updated":"2023-11-09 22:21:24.000000000","message":"Thanks","commit_id":"53fd659ded46231fd04d749188e8e1c5104c2c76"}],"src/server/rtt_server.c":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"cda96d9dd60c8eb220522e7feb9d0da0f0d7923e","unresolved":true,"context_lines":[{"line_number":29,"context_line":"struct rtt_service {"},{"line_number":30,"context_line":"\tunsigned int channel;"},{"line_number":31,"context_line":"\tunsigned int hello_message_len;"},{"line_number":32,"context_line":"\tchar hello_message[RTT_SERVICE_MAX_HELLO_LENGTH];"},{"line_number":33,"context_line":"};"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"static int read_callback(unsigned int channel, const uint8_t *buffer,"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"1a35b017_918bb855","line":32,"updated":"2023-10-15 20:27:58.000000000","message":"do not pre-allocate the buffer. Here use simply:\nchar *hello_message;\nand drop hello_message_len","commit_id":"441ecc14587cefcfb2d8f70337a6433dcf657c99"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"601142aff44e2628d47d2418da13723170c22ce9","unresolved":false,"context_lines":[{"line_number":29,"context_line":"struct rtt_service {"},{"line_number":30,"context_line":"\tunsigned int channel;"},{"line_number":31,"context_line":"\tunsigned int hello_message_len;"},{"line_number":32,"context_line":"\tchar hello_message[RTT_SERVICE_MAX_HELLO_LENGTH];"},{"line_number":33,"context_line":"};"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"static int read_callback(unsigned int channel, const uint8_t *buffer,"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"5f296436_469db314","line":32,"in_reply_to":"1a35b017_918bb855","updated":"2023-11-04 15:09:57.000000000","message":"Done","commit_id":"441ecc14587cefcfb2d8f70337a6433dcf657c99"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"cda96d9dd60c8eb220522e7feb9d0da0f0d7923e","unresolved":true,"context_lines":[{"line_number":70,"context_line":"\tif (ret !\u003d ERROR_OK)"},{"line_number":71,"context_line":"\t\treturn ret;"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"\tif (service-\u003ehello_message_len !\u003d 0)"},{"line_number":74,"context_line":"\t\tconnection_write(connection, service-\u003ehello_message, service-\u003ehello_message_len);"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"\treturn ERROR_OK;"},{"line_number":77,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"fe3fddad_e46cefee","line":74,"range":{"start_line":73,"start_character":1,"end_line":74,"end_character":83},"updated":"2023-10-15 20:27:58.000000000","message":"Here:\nif (service-\u003ehello_message)\nconnection_write(connection, service-\u003ehello_message, strlen(service-\u003ehello_message));","commit_id":"441ecc14587cefcfb2d8f70337a6433dcf657c99"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"601142aff44e2628d47d2418da13723170c22ce9","unresolved":false,"context_lines":[{"line_number":70,"context_line":"\tif (ret !\u003d ERROR_OK)"},{"line_number":71,"context_line":"\t\treturn ret;"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"\tif (service-\u003ehello_message_len !\u003d 0)"},{"line_number":74,"context_line":"\t\tconnection_write(connection, service-\u003ehello_message, service-\u003ehello_message_len);"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"\treturn ERROR_OK;"},{"line_number":77,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"adc69907_652846f6","line":74,"range":{"start_line":73,"start_character":1,"end_line":74,"end_character":83},"in_reply_to":"fe3fddad_e46cefee","updated":"2023-11-04 15:09:57.000000000","message":"Done","commit_id":"441ecc14587cefcfb2d8f70337a6433dcf657c99"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"cda96d9dd60c8eb220522e7feb9d0da0f0d7923e","unresolved":true,"context_lines":[{"line_number":133,"context_line":"\tif (!service)"},{"line_number":134,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"\tmemset(service, 0, sizeof(struct rtt_service));"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"\tCOMMAND_PARSE_NUMBER(uint, CMD_ARGV[1], service-\u003echannel);"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":5,"id":"c00475f7_64f4ae59","line":136,"updated":"2023-10-15 20:27:58.000000000","message":"use calloc() above, instead of malloc() followed by memset(0)","commit_id":"441ecc14587cefcfb2d8f70337a6433dcf657c99"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"601142aff44e2628d47d2418da13723170c22ce9","unresolved":false,"context_lines":[{"line_number":133,"context_line":"\tif (!service)"},{"line_number":134,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"\tmemset(service, 0, sizeof(struct rtt_service));"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"\tCOMMAND_PARSE_NUMBER(uint, CMD_ARGV[1], service-\u003echannel);"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":5,"id":"78c64125_42dee9e6","line":136,"in_reply_to":"c00475f7_64f4ae59","updated":"2023-11-04 15:09:57.000000000","message":"Done","commit_id":"441ecc14587cefcfb2d8f70337a6433dcf657c99"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"cda96d9dd60c8eb220522e7feb9d0da0f0d7923e","unresolved":true,"context_lines":[{"line_number":141,"context_line":"\t\tconst char *hello_message \u003d CMD_ARGV[2];"},{"line_number":142,"context_line":"\t\tsize_t hello_length \u003d strlen(hello_message);"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"\t\tif (hello_length + 1 \u003e RTT_SERVICE_MAX_HELLO_LENGTH) {"},{"line_number":145,"context_line":"\t\t\tLOG_ERROR(\"rtt: Invalid hello message length\");"},{"line_number":146,"context_line":"\t\t\treturn ERROR_COMMAND_ARGUMENT_INVALID;"},{"line_number":147,"context_line":"\t\t}"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"afce2961_dc6f3ca5","line":144,"updated":"2023-10-15 20:27:58.000000000","message":"you can drop the limit to RTT_SERVICE_MAX_HELLO_LENGTH","commit_id":"441ecc14587cefcfb2d8f70337a6433dcf657c99"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"601142aff44e2628d47d2418da13723170c22ce9","unresolved":false,"context_lines":[{"line_number":141,"context_line":"\t\tconst char *hello_message \u003d CMD_ARGV[2];"},{"line_number":142,"context_line":"\t\tsize_t hello_length \u003d strlen(hello_message);"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"\t\tif (hello_length + 1 \u003e RTT_SERVICE_MAX_HELLO_LENGTH) {"},{"line_number":145,"context_line":"\t\t\tLOG_ERROR(\"rtt: Invalid hello message length\");"},{"line_number":146,"context_line":"\t\t\treturn ERROR_COMMAND_ARGUMENT_INVALID;"},{"line_number":147,"context_line":"\t\t}"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"090dcda2_bb226544","line":144,"in_reply_to":"afce2961_dc6f3ca5","updated":"2023-11-04 15:09:57.000000000","message":"Done","commit_id":"441ecc14587cefcfb2d8f70337a6433dcf657c99"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"cda96d9dd60c8eb220522e7feb9d0da0f0d7923e","unresolved":true,"context_lines":[{"line_number":145,"context_line":"\t\t\tLOG_ERROR(\"rtt: Invalid hello message length\");"},{"line_number":146,"context_line":"\t\t\treturn ERROR_COMMAND_ARGUMENT_INVALID;"},{"line_number":147,"context_line":"\t\t}"},{"line_number":148,"context_line":"\t\tif (hello_length) {"},{"line_number":149,"context_line":"\t\t\tservice-\u003ehello_message_len \u003d hello_length + 1;"},{"line_number":150,"context_line":"\t\t\tmemcpy(service-\u003ehello_message, hello_message, hello_length);"},{"line_number":151,"context_line":"\t\t\tservice-\u003ehello_message[hello_length] \u003d \u0027\\n\u0027;"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"c52da497_9f9d66fe","line":148,"updated":"2023-10-15 20:27:58.000000000","message":"I don\u0027t know if a zero length message can have any sense, anyway:\n\nservice-\u003ehello_message \u003d malloc(hello_length + 2);\nif (!service-\u003ehello_message) {\ncommand_print(CMD, \"Out of memory\");\nfree(service);\nreturn ERROR_FAIL;\n}\nstrcpy(service-\u003ehello_message, hello_message);\nservice-\u003ehello_message[hello_length] \u003d \u0027\\n\u0027;\nservice-\u003ehello_message[hello_length + 1] \u003d \u0027\\0\u0027;","commit_id":"441ecc14587cefcfb2d8f70337a6433dcf657c99"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"601142aff44e2628d47d2418da13723170c22ce9","unresolved":false,"context_lines":[{"line_number":145,"context_line":"\t\t\tLOG_ERROR(\"rtt: Invalid hello message length\");"},{"line_number":146,"context_line":"\t\t\treturn ERROR_COMMAND_ARGUMENT_INVALID;"},{"line_number":147,"context_line":"\t\t}"},{"line_number":148,"context_line":"\t\tif (hello_length) {"},{"line_number":149,"context_line":"\t\t\tservice-\u003ehello_message_len \u003d hello_length + 1;"},{"line_number":150,"context_line":"\t\t\tmemcpy(service-\u003ehello_message, hello_message, hello_length);"},{"line_number":151,"context_line":"\t\t\tservice-\u003ehello_message[hello_length] \u003d \u0027\\n\u0027;"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"8a8ee879_8b21d96b","line":148,"in_reply_to":"c52da497_9f9d66fe","updated":"2023-11-04 15:09:57.000000000","message":"Done","commit_id":"441ecc14587cefcfb2d8f70337a6433dcf657c99"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"e9b331c391f2500171dc2fd248712c2dcb511f58","unresolved":true,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"\t\tservice-\u003ehello_message \u003d malloc(hello_length + 2);"},{"line_number":139,"context_line":"\t\tif (!service-\u003ehello_message) {"},{"line_number":140,"context_line":"\t\t\tcommand_print(CMD, \"Out of memory\");"},{"line_number":141,"context_line":"\t\t\tfree(service);"},{"line_number":142,"context_line":"\t\t\treturn ERROR_FAIL;"},{"line_number":143,"context_line":"\t\t}"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"d7759308_53ef79b3","line":140,"updated":"2023-10-25 19:10:14.000000000","message":"Why not LOG_ERROR() @ Antonio?","commit_id":"390d063c41a026ac3baaf0da81123e411391bbdf"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"d791e333b4815122b0e3e65f1940a42d5596526a","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"\t\tservice-\u003ehello_message \u003d malloc(hello_length + 2);"},{"line_number":139,"context_line":"\t\tif (!service-\u003ehello_message) {"},{"line_number":140,"context_line":"\t\t\tcommand_print(CMD, \"Out of memory\");"},{"line_number":141,"context_line":"\t\t\tfree(service);"},{"line_number":142,"context_line":"\t\t\treturn ERROR_FAIL;"},{"line_number":143,"context_line":"\t\t}"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"ec254438_a558cea0","line":140,"in_reply_to":"4b70d3ff_e5d3718a","updated":"2023-11-09 22:21:24.000000000","message":"Done","commit_id":"390d063c41a026ac3baaf0da81123e411391bbdf"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"601142aff44e2628d47d2418da13723170c22ce9","unresolved":true,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"\t\tservice-\u003ehello_message \u003d malloc(hello_length + 2);"},{"line_number":139,"context_line":"\t\tif (!service-\u003ehello_message) {"},{"line_number":140,"context_line":"\t\t\tcommand_print(CMD, \"Out of memory\");"},{"line_number":141,"context_line":"\t\t\tfree(service);"},{"line_number":142,"context_line":"\t\t\treturn ERROR_FAIL;"},{"line_number":143,"context_line":"\t\t}"}],"source_content_type":"text/x-csrc","patch_set":6,"id":"4b70d3ff_e5d3718a","line":140,"in_reply_to":"d7759308_53ef79b3","updated":"2023-11-04 15:09:57.000000000","message":"Yes, this should be a LOG_ERROR","commit_id":"390d063c41a026ac3baaf0da81123e411391bbdf"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"f5aa9f53eab14fb1039daef191c015c646ec60e9","unresolved":true,"context_lines":[{"line_number":171,"context_line":"\t\t.handler \u003d handle_rtt_start_command,"},{"line_number":172,"context_line":"\t\t.mode \u003d COMMAND_ANY,"},{"line_number":173,"context_line":"\t\t.help \u003d \"Start a RTT server\","},{"line_number":174,"context_line":"\t\t.usage \u003d \"\u003cport\u003e \u003cchannel\u003e\""},{"line_number":175,"context_line":"\t},"},{"line_number":176,"context_line":"\t{"},{"line_number":177,"context_line":"\t\t.name \u003d \"stop\","}],"source_content_type":"text/x-csrc","patch_set":8,"id":"126fdef5_4aa81b26","line":174,"updated":"2023-11-15 00:02:54.000000000","message":"Please update the usage message.","commit_id":"53fd659ded46231fd04d749188e8e1c5104c2c76"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"afc4d9f7d1a4efef199eb1f3014d6132f4a47972","unresolved":false,"context_lines":[{"line_number":171,"context_line":"\t\t.handler \u003d handle_rtt_start_command,"},{"line_number":172,"context_line":"\t\t.mode \u003d COMMAND_ANY,"},{"line_number":173,"context_line":"\t\t.help \u003d \"Start a RTT server\","},{"line_number":174,"context_line":"\t\t.usage \u003d \"\u003cport\u003e \u003cchannel\u003e\""},{"line_number":175,"context_line":"\t},"},{"line_number":176,"context_line":"\t{"},{"line_number":177,"context_line":"\t\t.name \u003d \"stop\","}],"source_content_type":"text/x-csrc","patch_set":8,"id":"a685eac4_2d3bc66e","line":174,"in_reply_to":"126fdef5_4aa81b26","updated":"2023-11-15 09:03:09.000000000","message":"Done","commit_id":"53fd659ded46231fd04d749188e8e1c5104c2c76"}]}
