60 #include "SEGGER_RTT_Conf.h"
83 unsigned SizeOfBuffer;
85 volatile unsigned RdOff;
87 } SEGGER_RTT_BUFFER_UP;
96 unsigned SizeOfBuffer;
97 volatile unsigned WrOff;
100 } SEGGER_RTT_BUFFER_DOWN;
110 int MaxNumDownBuffers;
111 SEGGER_RTT_BUFFER_UP aUp[SEGGER_RTT_MAX_NUM_UP_BUFFERS];
112 SEGGER_RTT_BUFFER_DOWN aDown[SEGGER_RTT_MAX_NUM_DOWN_BUFFERS];
121 extern SEGGER_RTT_CB _SEGGER_RTT;
132 int SEGGER_RTT_AllocDownBuffer (
const char* sName,
void* pBuffer,
unsigned BufferSize,
unsigned Flags);
133 int SEGGER_RTT_AllocUpBuffer (
const char* sName,
void* pBuffer,
unsigned BufferSize,
unsigned Flags);
134 int SEGGER_RTT_ConfigUpBuffer (
unsigned BufferIndex,
const char* sName,
void* pBuffer,
unsigned BufferSize,
unsigned Flags);
135 int SEGGER_RTT_ConfigDownBuffer (
unsigned BufferIndex,
const char* sName,
void* pBuffer,
unsigned BufferSize,
unsigned Flags);
136 int SEGGER_RTT_GetKey (
void);
137 unsigned SEGGER_RTT_HasData (
unsigned BufferIndex);
138 int SEGGER_RTT_HasKey (
void);
139 void SEGGER_RTT_Init (
void);
140 unsigned SEGGER_RTT_Read (
unsigned BufferIndex,
void* pBuffer,
unsigned BufferSize);
141 unsigned SEGGER_RTT_ReadNoLock (
unsigned BufferIndex,
void* pData,
unsigned BufferSize);
142 int SEGGER_RTT_SetNameDownBuffer (
unsigned BufferIndex,
const char* sName);
143 int SEGGER_RTT_SetNameUpBuffer (
unsigned BufferIndex,
const char* sName);
144 int SEGGER_RTT_SetFlagsDownBuffer (
unsigned BufferIndex,
unsigned Flags);
145 int SEGGER_RTT_SetFlagsUpBuffer (
unsigned BufferIndex,
unsigned Flags);
146 int SEGGER_RTT_WaitKey (
void);
147 unsigned SEGGER_RTT_Write (
unsigned BufferIndex,
const void* pBuffer,
unsigned NumBytes);
148 unsigned SEGGER_RTT_WriteNoLock (
unsigned BufferIndex,
const void* pBuffer,
unsigned NumBytes);
149 unsigned SEGGER_RTT_WriteSkipNoLock (
unsigned BufferIndex,
const void* pBuffer,
unsigned NumBytes);
150 unsigned SEGGER_RTT_WriteString (
unsigned BufferIndex,
const char* s);
151 void SEGGER_RTT_WriteWithOverwriteNoLock(
unsigned BufferIndex,
const void* pBuffer,
unsigned NumBytes);
155 #define SEGGER_RTT_HASDATA(n) (_SEGGER_RTT.aDown[n].WrOff - _SEGGER_RTT.aDown[n].RdOff)
163 int SEGGER_RTT_SetTerminal (
char TerminalId);
164 int SEGGER_RTT_TerminalOut (
char TerminalId,
const char* s);
172 int SEGGER_RTT_printf(
unsigned BufferIndex,
const char * sFormat, ...);
187 #define SEGGER_RTT_MODE_NO_BLOCK_SKIP (0U) // Skip. Do not block, output nothing. (Default)
188 #define SEGGER_RTT_MODE_NO_BLOCK_TRIM (1U) // Trim: Do not block, output as much as fits.
189 #define SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL (2U) // Block: Wait until there is space in the buffer.
190 #define SEGGER_RTT_MODE_MASK (3U)
196 #define RTT_CTRL_RESET "[0m" // Reset to default colors
197 #define RTT_CTRL_CLEAR "[2J" // Clear screen, reposition cursor to top left
199 #define RTT_CTRL_TEXT_BLACK "[2;30m"
200 #define RTT_CTRL_TEXT_RED "[2;31m"
201 #define RTT_CTRL_TEXT_GREEN "[2;32m"
202 #define RTT_CTRL_TEXT_YELLOW "[2;33m"
203 #define RTT_CTRL_TEXT_BLUE "[2;34m"
204 #define RTT_CTRL_TEXT_MAGENTA "[2;35m"
205 #define RTT_CTRL_TEXT_CYAN "[2;36m"
206 #define RTT_CTRL_TEXT_WHITE "[2;37m"
208 #define RTT_CTRL_TEXT_BRIGHT_BLACK "[1;30m"
209 #define RTT_CTRL_TEXT_BRIGHT_RED "[1;31m"
210 #define RTT_CTRL_TEXT_BRIGHT_GREEN "[1;32m"
211 #define RTT_CTRL_TEXT_BRIGHT_YELLOW "[1;33m"
212 #define RTT_CTRL_TEXT_BRIGHT_BLUE "[1;34m"
213 #define RTT_CTRL_TEXT_BRIGHT_MAGENTA "[1;35m"
214 #define RTT_CTRL_TEXT_BRIGHT_CYAN "[1;36m"
215 #define RTT_CTRL_TEXT_BRIGHT_WHITE "[1;37m"
217 #define RTT_CTRL_BG_BLACK "[24;40m"
218 #define RTT_CTRL_BG_RED "[24;41m"
219 #define RTT_CTRL_BG_GREEN "[24;42m"
220 #define RTT_CTRL_BG_YELLOW "[24;43m"
221 #define RTT_CTRL_BG_BLUE "[24;44m"
222 #define RTT_CTRL_BG_MAGENTA "[24;45m"
223 #define RTT_CTRL_BG_CYAN "[24;46m"
224 #define RTT_CTRL_BG_WHITE "[24;47m"
226 #define RTT_CTRL_BG_BRIGHT_BLACK "[4;40m"
227 #define RTT_CTRL_BG_BRIGHT_RED "[4;41m"
228 #define RTT_CTRL_BG_BRIGHT_GREEN "[4;42m"
229 #define RTT_CTRL_BG_BRIGHT_YELLOW "[4;43m"
230 #define RTT_CTRL_BG_BRIGHT_BLUE "[4;44m"
231 #define RTT_CTRL_BG_BRIGHT_MAGENTA "[4;45m"
232 #define RTT_CTRL_BG_BRIGHT_CYAN "[4;46m"
233 #define RTT_CTRL_BG_BRIGHT_WHITE "[4;47m"