/* clang-format off */ /********************************************************************* * SEGGER MICROCONTROLLER SYSTEME GmbH * * Solutions for real time microcontroller applications * ********************************************************************** * * * (c) 1996-2014 SEGGER Microcontroller Systeme GmbH * * * * Internet: www.segger.com Support: support@segger.com * * * ********************************************************************** ---------------------------------------------------------------------- File : SEGGER_RTT.h Date : 17 Dec 2014 Purpose : Implementation of SEGGER real-time terminal which allows real-time terminal communication on targets which support debugger memory accesses while the CPU is running. ---------------------------END-OF-HEADER------------------------------ */ /********************************************************************* * * Defines * ********************************************************************** */ #define SEGGER_RTT_MODE_MASK (3 << 0) #define SEGGER_RTT_MODE_NO_BLOCK_SKIP (0) #define SEGGER_RTT_MODE_NO_BLOCK_TRIM (1 << 0) #define SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL (1 << 1) #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" /********************************************************************* * * RTT API functions * ********************************************************************** */ int SEGGER_RTT_Read (unsigned BufferIndex, char* pBuffer, unsigned BufferSize); int SEGGER_RTT_Write (unsigned BufferIndex, const char* pBuffer, unsigned NumBytes); int SEGGER_RTT_WriteString (unsigned BufferIndex, const char* s); int SEGGER_RTT_GetKey (void); int SEGGER_RTT_WaitKey (void); int SEGGER_RTT_HasKey (void); int SEGGER_RTT_ConfigUpBuffer (unsigned BufferIndex, const char* sName, char* pBuffer, int BufferSize, int Flags); int SEGGER_RTT_ConfigDownBuffer (unsigned BufferIndex, const char* sName, char* pBuffer, int BufferSize, int Flags); void SEGGER_RTT_Init (void); /********************************************************************* * * RTT "Terminal" API functions * ********************************************************************** */ void SEGGER_RTT_SetTerminal (char TerminalId); int SEGGER_RTT_TerminalOut (char TerminalId, const char* s); /********************************************************************* * * RTT printf functions (require SEGGER_RTT_printf.c) * ********************************************************************** */ int SEGGER_RTT_printf(unsigned BufferIndex, const char * sFormat, ...); /*************************** End of file ****************************/