123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251 |
- #ifndef SEGGER_RTT_H
- #define SEGGER_RTT_H
- #include "SEGGER_RTT_Conf.h"
- typedef struct {
- const char* sName;
- char* pBuffer;
- unsigned SizeOfBuffer;
- unsigned WrOff;
- volatile unsigned RdOff;
- unsigned Flags;
- } SEGGER_RTT_BUFFER_UP;
- typedef struct {
- const char* sName;
- char* pBuffer;
- unsigned SizeOfBuffer;
- volatile unsigned WrOff;
- unsigned RdOff;
- unsigned Flags;
- } SEGGER_RTT_BUFFER_DOWN;
- typedef struct {
- char acID[16];
- int MaxNumUpBuffers;
- int MaxNumDownBuffers;
- SEGGER_RTT_BUFFER_UP aUp[SEGGER_RTT_MAX_NUM_UP_BUFFERS];
- SEGGER_RTT_BUFFER_DOWN aDown[SEGGER_RTT_MAX_NUM_DOWN_BUFFERS];
- } SEGGER_RTT_CB;
- extern SEGGER_RTT_CB _SEGGER_RTT;
- #ifdef __cplusplus
- extern "C" {
- #endif
- int SEGGER_RTT_AllocDownBuffer (const char* sName, void* pBuffer, unsigned BufferSize, unsigned Flags);
- int SEGGER_RTT_AllocUpBuffer (const char* sName, void* pBuffer, unsigned BufferSize, unsigned Flags);
- int SEGGER_RTT_ConfigUpBuffer (unsigned BufferIndex, const char* sName, void* pBuffer, unsigned BufferSize, unsigned Flags);
- int SEGGER_RTT_ConfigDownBuffer (unsigned BufferIndex, const char* sName, void* pBuffer, unsigned BufferSize, unsigned Flags);
- int SEGGER_RTT_GetKey (void);
- unsigned SEGGER_RTT_HasData (unsigned BufferIndex);
- int SEGGER_RTT_HasKey (void);
- void SEGGER_RTT_Init (void);
- unsigned SEGGER_RTT_Read (unsigned BufferIndex, void* pBuffer, unsigned BufferSize);
- unsigned SEGGER_RTT_ReadNoLock (unsigned BufferIndex, void* pData, unsigned BufferSize);
- int SEGGER_RTT_SetNameDownBuffer (unsigned BufferIndex, const char* sName);
- int SEGGER_RTT_SetNameUpBuffer (unsigned BufferIndex, const char* sName);
- int SEGGER_RTT_SetFlagsDownBuffer (unsigned BufferIndex, unsigned Flags);
- int SEGGER_RTT_SetFlagsUpBuffer (unsigned BufferIndex, unsigned Flags);
- int SEGGER_RTT_WaitKey (void);
- unsigned SEGGER_RTT_Write (unsigned BufferIndex, const void* pBuffer, unsigned NumBytes);
- unsigned SEGGER_RTT_WriteNoLock (unsigned BufferIndex, const void* pBuffer, unsigned NumBytes);
- unsigned SEGGER_RTT_WriteSkipNoLock (unsigned BufferIndex, const void* pBuffer, unsigned NumBytes);
- unsigned SEGGER_RTT_WriteString (unsigned BufferIndex, const char* s);
- void SEGGER_RTT_WriteWithOverwriteNoLock(unsigned BufferIndex, const void* pBuffer, unsigned NumBytes);
- unsigned SEGGER_RTT_PutChar (unsigned BufferIndex, char c);
- unsigned SEGGER_RTT_PutCharSkip (unsigned BufferIndex, char c);
- unsigned SEGGER_RTT_PutCharSkipNoLock (unsigned BufferIndex, char c);
- #define SEGGER_RTT_HASDATA(n) (_SEGGER_RTT.aDown[n].WrOff - _SEGGER_RTT.aDown[n].RdOff)
- int SEGGER_RTT_SetTerminal (char TerminalId);
- int SEGGER_RTT_TerminalOut (char TerminalId, const char* s);
- int SEGGER_RTT_printf(unsigned BufferIndex, const char * sFormat, ...);
- #ifdef __cplusplus
- }
- #endif
- #define SEGGER_RTT_MODE_NO_BLOCK_SKIP (0U)
- #define SEGGER_RTT_MODE_NO_BLOCK_TRIM (1U)
- #define SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL (2U)
- #define SEGGER_RTT_MODE_MASK (3U)
- #define RTT_CTRL_RESET "[0m"
- #define RTT_CTRL_CLEAR "[2J"
- #define RTT_CTRL_TEXT_BLACK "[2;30m"
- #define RTT_CTRL_TEXT_RED "[2;31m"
- #define RTT_CTRL_TEXT_GREEN "[2;32m"
- #define RTT_CTRL_TEXT_YELLOW "[2;33m"
- #define RTT_CTRL_TEXT_BLUE "[2;34m"
- #define RTT_CTRL_TEXT_MAGENTA "[2;35m"
- #define RTT_CTRL_TEXT_CYAN "[2;36m"
- #define RTT_CTRL_TEXT_WHITE "[2;37m"
- #define RTT_CTRL_TEXT_BRIGHT_BLACK "[1;30m"
- #define RTT_CTRL_TEXT_BRIGHT_RED "[1;31m"
- #define RTT_CTRL_TEXT_BRIGHT_GREEN "[1;32m"
- #define RTT_CTRL_TEXT_BRIGHT_YELLOW "[1;33m"
- #define RTT_CTRL_TEXT_BRIGHT_BLUE "[1;34m"
- #define RTT_CTRL_TEXT_BRIGHT_MAGENTA "[1;35m"
- #define RTT_CTRL_TEXT_BRIGHT_CYAN "[1;36m"
- #define RTT_CTRL_TEXT_BRIGHT_WHITE "[1;37m"
- #define RTT_CTRL_BG_BLACK "[24;40m"
- #define RTT_CTRL_BG_RED "[24;41m"
- #define RTT_CTRL_BG_GREEN "[24;42m"
- #define RTT_CTRL_BG_YELLOW "[24;43m"
- #define RTT_CTRL_BG_BLUE "[24;44m"
- #define RTT_CTRL_BG_MAGENTA "[24;45m"
- #define RTT_CTRL_BG_CYAN "[24;46m"
- #define RTT_CTRL_BG_WHITE "[24;47m"
- #define RTT_CTRL_BG_BRIGHT_BLACK "[4;40m"
- #define RTT_CTRL_BG_BRIGHT_RED "[4;41m"
- #define RTT_CTRL_BG_BRIGHT_GREEN "[4;42m"
- #define RTT_CTRL_BG_BRIGHT_YELLOW "[4;43m"
- #define RTT_CTRL_BG_BRIGHT_BLUE "[4;44m"
- #define RTT_CTRL_BG_BRIGHT_MAGENTA "[4;45m"
- #define RTT_CTRL_BG_BRIGHT_CYAN "[4;46m"
- #define RTT_CTRL_BG_BRIGHT_WHITE "[4;47m"
- #endif
|