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];
98extern SEGGER_RTT_CB _SEGGER_RTT;
106int SEGGER_RTT_ConfigUpBuffer (
unsigned BufferIndex,
const char* sName,
void* pBuffer,
unsigned BufferSize,
unsigned Flags);
107int SEGGER_RTT_ConfigDownBuffer (
unsigned BufferIndex,
const char* sName,
void* pBuffer,
unsigned BufferSize,
unsigned Flags);
108int SEGGER_RTT_GetKey (
void);
109unsigned SEGGER_RTT_HasData (
unsigned BufferIndex);
110int SEGGER_RTT_HasKey (
void);
111void SEGGER_RTT_Init (
void);
112unsigned SEGGER_RTT_Read (
unsigned BufferIndex,
void* pBuffer,
unsigned BufferSize);
113unsigned SEGGER_RTT_ReadNoLock (
unsigned BufferIndex,
void* pData,
unsigned BufferSize);
114int SEGGER_RTT_SetNameDownBuffer(
unsigned BufferIndex,
const char* sName);
115int SEGGER_RTT_SetNameUpBuffer (
unsigned BufferIndex,
const char* sName);
116int SEGGER_RTT_WaitKey (
void);
117unsigned SEGGER_RTT_Write (
unsigned BufferIndex,
const void* pBuffer,
unsigned NumBytes);
118unsigned SEGGER_RTT_WriteNoLock (
unsigned BufferIndex,
const void* pBuffer,
unsigned NumBytes);
119unsigned SEGGER_RTT_WriteSkipNoLock (
unsigned BufferIndex,
const void* pBuffer,
unsigned NumBytes);
120unsigned SEGGER_RTT_WriteString (
unsigned BufferIndex,
const char* s);
124#define SEGGER_RTT_HASDATA(n) (_SEGGER_RTT.aDown[n].WrOff - _SEGGER_RTT.aDown[n].RdOff)
132int SEGGER_RTT_SetTerminal (
char TerminalId);
133int SEGGER_RTT_TerminalOut (
char TerminalId,
const char* s);
141int SEGGER_RTT_printf(
unsigned BufferIndex,
const char * sFormat, ...);
153#define SEGGER_RTT_MODE_NO_BLOCK_SKIP (0U)
154#define SEGGER_RTT_MODE_NO_BLOCK_TRIM (1U)
155#define SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL (2U)
156#define SEGGER_RTT_MODE_MASK (3U)
162#define RTT_CTRL_RESET "\e[0m"
163#define RTT_CTRL_CLEAR "\e[2J"
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"