VOXL-CUtils
VOXL C Utils is a small package of C/C++ Utilities for use in various packages.
Table of Contents
Silencing Macros
The package contains the macros VCU_silent
and VCU_silentErrors
which can be used to silence the stdout and stderr outputs of their contents, respectively. For example:
VCU_silent(
some_noisy_libaray_call();
)
will only print the output of stderr to the screen. You can also combine these to completely silence terminal output such as:
VCU_silent(
VCU_silentErrors(
some_very_noisy_libaray_call();
)
)
Timing functions
The package contains the functions VCU_time_realtime_ns
and VCU_time_monotonic_ns
to get the real and monotonic time of the system, respectively. These can be used to time the execution of code or provide timestamps of sensor readings.
Terminal Font Manipulation
These definitions allow you to manipulate the terminal output in various ways. You can change the face/color of print statements like such: printf("This sentence has both " FONT_BOLD "bold" RESET_FONT " and " COLOR_RED "red" RESET_COLOR "text in it!");
resulting in: “This sentence has both bold and red text in it!”
Space Manipulation
Name | Definition | Code |
---|---|---|
Clear Screen | CLEAR_TERMINAL | \033c |
Disable Line Wrap | DISABLE_WRAP | \033[?7l |
Enable Line Wrap | ENABLE_WRAP | \033[?7h |
Clear Current Line | CLEAR_LINE | \033[2K |
Move Cursor To Top Left | GOTO_TOP_LEFT | \033[f |
Face
Name | Definition | Code |
---|---|---|
Reset All Font Items | RESET_FONT | \e[0m |
Bold | FONT_BOLD | \e[1m |
Dim | FONT_DIM | \e[2m |
Underline | FONT_UNDERLINE | \e[4m |
Flashing Font | FONT_BLINK | \e[5m |
Invert Fore/Back Colors | FONT_INVERT | \e[7m |
Hidden Text | FONT_HIDDEN | \e[8m |
Reset Bold | RESET_BOLD | \e[21m |
Reset Dim | RESET_DIM | \e[22m |
Reset Underline | RESET_UNDERLINE | \e[24m |
Reset Blink | RESET_BLINK | \e[25m |
Reset Invert | RESET_INVERT | \e[27m |
Reset Hidden | RESET_HIDDEN | \e[28m |
Foreground Color
Name | Definition | Code |
---|---|---|
Reset Color | RESET_COLOR | \e[39m |
Black | COLOR_BLK | \e[30m |
Red | COLOR_RED | \e[31m |
Green | COLOR_GRN | \e[32m |
Yellow | COLOR_YLW | \e[33m |
Blue | COLOR_BLU | \e[34m |
Magenta | COLOR_MAG | \e[35m |
Cyan | COLOR_CYN | \e[36m |
Light Gray | COLOR_LIT_GRY | \e[37m |
Dark Gray | COLOR_DRK_GRY | \e[90m |
Light Red | COLOR_LIT_RED | \e[91m |
Light Green | COLOR_LIT_GRN | \e[92m |
Light Yellow | COLOR_LIT_YLW | \e[93m |
Light Blue | COLOR_LIT_BLU | \e[94m |
Light Magenta | COLOR_LIT_MAG | \e[95m |
Light Cyan | COLOR_LIT_CYN | \e[96m |
White | COLOR_WHT | \e[97m |
Background Color
Name | Definition | Code |
---|---|---|
Reset Background Color | RESET_COLOR_BKG | \e[49m |
Background Black | COLOR_BKG_BLK | \e[40m |
Background Red | COLOR_BKG_RED | \e[41m |
Background Green | COLOR_BKG_GRN | \e[42m |
Background Yellow | COLOR_BKG_YLW | \e[43m |
Background Blue | COLOR_BKG_BLU | \e[44m |
Background Magenta | COLOR_BKG_MAG | \e[45m |
Background Cyan | COLOR_BKG_CYN | \e[46m |
Background Light Gray | COLOR_BKG_LIT_GRY | \e[47m |
Background Dark Gray | COLOR_BKG_DRK_GRY | \e[100m |
Background Light Red | COLOR_BKG_LIT_RED | \e[101m |
Background Light Green | COLOR_BKG_LIT_GRN | \e[102m |
Background Light Yellow | COLOR_BKG_LIT_YLW | \e[103m |
Background Light Blue | COLOR_BKG_LIT_BLU | \e[104m |
Background Light Magenta | COLOR_BKG_LIT_MAG | \e[105m |
Background Light Cyan | COLOR_BKG_LIT_CYN | \e[106m |
Background White | COLOR_BKG_WHT | \e[107m |