1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-14 11:59:58 +03:00

Add cliDebugPrint functions to facilitate easy debug printing to CLI

To use, include `cli/cli_debug_print.h` in your code and be sure `USE_CLI_DEBUG_PRINT` is defined. Then you'll have access to the following functions to print debugging messages in the CLI:
```
cliDebugPrintLineFeed
cliDebugPrint
cliDebugPrintLine
cliDebugPrintf
cliDebugPrintLinef
```
Output is suppressed when the CLI is not open.

May interfere with the autocomplete initialization when first entering the CLI if your code is outputting data when the CLI first opens. But as this is only meant for debugging it shouldn't be much of a concern.

You may also need to rate limit your messages if printing data in a loop.

All of the debugging code must be removed from any completed code before submission.
This commit is contained in:
Bruce Luckcuck 2019-09-17 19:14:27 -04:00
parent 08e8afa090
commit 9cb48c97fd
5 changed files with 86 additions and 13 deletions

View file

@ -310,8 +310,12 @@ static void cliWriterFlush()
}
static void cliPrint(const char *str)
void cliPrint(const char *str)
{
if (!cliMode) {
return;
}
if (cliWriter) {
while (*str) {
bufWriterAppend(cliWriter, *str++);
@ -320,12 +324,12 @@ static void cliPrint(const char *str)
}
}
static void cliPrintLinefeed(void)
void cliPrintLinefeed(void)
{
cliPrint("\r\n");
}
static void cliPrintLine(const char *str)
void cliPrintLine(const char *str)
{
cliPrint(str);
cliPrintLinefeed();
@ -391,8 +395,12 @@ static bool cliDefaultPrintLinef(dumpFlags_t dumpMask, bool equalsDefault, const
}
}
static void cliPrintf(const char *format, ...)
void cliPrintf(const char *format, ...)
{
if (!cliMode) {
return;
}
va_list va;
va_start(va, format);
cliPrintfva(format, va);
@ -400,8 +408,12 @@ static void cliPrintf(const char *format, ...)
}
static void cliPrintLinef(const char *format, ...)
void cliPrintLinef(const char *format, ...)
{
if (!cliMode) {
return;
}
va_list va;
va_start(va, format);
cliPrintfva(format, va);