50 #include "segger-rtt-conf.h" 73 unsigned SizeOfBuffer;
74 volatile unsigned WrOff;
75 volatile unsigned RdOff;
77 } SEGGER_RTT_RING_BUFFER;
87 int MaxNumDownBuffers;
88 SEGGER_RTT_RING_BUFFER aUp[SEGGER_RTT_MAX_NUM_UP_BUFFERS];
89 SEGGER_RTT_RING_BUFFER aDown[SEGGER_RTT_MAX_NUM_DOWN_BUFFERS];
98 extern SEGGER_RTT_CB _SEGGER_RTT;
106 int SEGGER_RTT_ConfigUpBuffer (
unsigned BufferIndex,
const char* sName,
void* pBuffer,
unsigned BufferSize,
unsigned Flags);
107 int SEGGER_RTT_ConfigDownBuffer (
unsigned BufferIndex,
const char* sName,
void* pBuffer,
unsigned BufferSize,
unsigned Flags);
108 int SEGGER_RTT_GetKey (
void);
109 unsigned SEGGER_RTT_HasData (
unsigned BufferIndex);
110 int SEGGER_RTT_HasKey (
void);
111 void SEGGER_RTT_Init (
void);
112 unsigned SEGGER_RTT_Read (
unsigned BufferIndex,
void* pBuffer,
unsigned BufferSize);
113 unsigned SEGGER_RTT_ReadNoLock (
unsigned BufferIndex,
void* pData,
unsigned BufferSize);
114 int SEGGER_RTT_SetNameDownBuffer(
unsigned BufferIndex,
const char* sName);
115 int SEGGER_RTT_SetNameUpBuffer (
unsigned BufferIndex,
const char* sName);
116 int SEGGER_RTT_WaitKey (
void);
117 unsigned SEGGER_RTT_Write (
unsigned BufferIndex,
const void* pBuffer,
unsigned NumBytes);
118 unsigned SEGGER_RTT_WriteNoLock (
unsigned BufferIndex,
const void* pBuffer,
unsigned NumBytes);
119 unsigned SEGGER_RTT_WriteSkipNoLock (
unsigned BufferIndex,
const void* pBuffer,
unsigned NumBytes);
120 unsigned SEGGER_RTT_WriteString (
unsigned BufferIndex,
const char* s);
124 #define SEGGER_RTT_HASDATA(n) (_SEGGER_RTT.aDown[n].WrOff - _SEGGER_RTT.aDown[n].RdOff) 132 int SEGGER_RTT_SetTerminal (
char TerminalId);
133 int SEGGER_RTT_TerminalOut (
char TerminalId,
const char* s);
141 int SEGGER_RTT_printf(
unsigned BufferIndex,
const char * sFormat, ...);
153 #define SEGGER_RTT_MODE_NO_BLOCK_SKIP (0U) // Skip. Do not block, output nothing. (Default) 154 #define SEGGER_RTT_MODE_NO_BLOCK_TRIM (1U) // Trim: Do not block, output as much as fits. 155 #define SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL (2U) // Block: Wait until there is space in the buffer. 156 #define SEGGER_RTT_MODE_MASK (3U) 162 #define RTT_CTRL_RESET "\e[0m" // Reset to default colors 163 #define RTT_CTRL_CLEAR "\e[2J" // Clear screen, reposition cursor to top left 165 #define RTT_CTRL_TEXT_BLACK "\e[2;30m" 166 #define RTT_CTRL_TEXT_RED "\e[2;31m" 167 #define RTT_CTRL_TEXT_GREEN "\e[2;32m" 168 #define RTT_CTRL_TEXT_YELLOW "\e[2;33m" 169 #define RTT_CTRL_TEXT_BLUE "\e[2;34m" 170 #define RTT_CTRL_TEXT_MAGENTA "\e[2;35m" 171 #define RTT_CTRL_TEXT_CYAN "\e[2;36m" 172 #define RTT_CTRL_TEXT_WHITE "\e[2;37m" 174 #define RTT_CTRL_TEXT_BRIGHT_BLACK "\e[1;30m" 175 #define RTT_CTRL_TEXT_BRIGHT_RED "\e[1;31m" 176 #define RTT_CTRL_TEXT_BRIGHT_GREEN "\e[1;32m" 177 #define RTT_CTRL_TEXT_BRIGHT_YELLOW "\e[1;33m" 178 #define RTT_CTRL_TEXT_BRIGHT_BLUE "\e[1;34m" 179 #define RTT_CTRL_TEXT_BRIGHT_MAGENTA "\e[1;35m" 180 #define RTT_CTRL_TEXT_BRIGHT_CYAN "\e[1;36m" 181 #define RTT_CTRL_TEXT_BRIGHT_WHITE "\e[1;37m" 183 #define RTT_CTRL_BG_BLACK "\e[24;40m" 184 #define RTT_CTRL_BG_RED "\e[24;41m" 185 #define RTT_CTRL_BG_GREEN "\e[24;42m" 186 #define RTT_CTRL_BG_YELLOW "\e[24;43m" 187 #define RTT_CTRL_BG_BLUE "\e[24;44m" 188 #define RTT_CTRL_BG_MAGENTA "\e[24;45m" 189 #define RTT_CTRL_BG_CYAN "\e[24;46m" 190 #define RTT_CTRL_BG_WHITE "\e[24;47m" 192 #define RTT_CTRL_BG_BRIGHT_BLACK "\e[4;40m" 193 #define RTT_CTRL_BG_BRIGHT_RED "\e[4;41m" 194 #define RTT_CTRL_BG_BRIGHT_GREEN "\e[4;42m" 195 #define RTT_CTRL_BG_BRIGHT_YELLOW "\e[4;43m" 196 #define RTT_CTRL_BG_BRIGHT_BLUE "\e[4;44m" 197 #define RTT_CTRL_BG_BRIGHT_MAGENTA "\e[4;45m" 198 #define RTT_CTRL_BG_BRIGHT_CYAN "\e[4;46m" 199 #define RTT_CTRL_BG_BRIGHT_WHITE "\e[4;47m"