KETCube
ketCube_terminal.h
Go to the documentation of this file.
1 
45 /* Define to prevent recursive inclusion -------------------------------------*/
46 #ifndef __KETCUBE_TERMINAL_H
47 #define __KETCUBE_TERMINAL_H
48 
49 #include <stdarg.h>
50 #include <stdlib.h>
51 
53 #include "vcom.h"
54 
64 #define KETCUBE_TERMINAL_DEBUG FALSE
65 #define KETCUBE_TERMINAL_MODDEBUG TRUE
66 #define KETCUBE_TERMINAL_ECHO TRUE
68 #define KETCUBE_TERMINAL_HISTORY_LEN 3
69 #define KETCUBE_TERMINAL_CMD_MAX_LEN 128
71 #define KETCUBE_TERMINAL_PRINTF(...) ketCube_terminal_UsartPrint(__VA_ARGS__)
73 #define KETCUBE_TERMINAL_PROMPT() KETCUBE_TERMINAL_PRINTF(">> ")
74 #define KETCUBE_TERMINAL_ENDL() KETCUBE_TERMINAL_PRINTF("\n\r")
75 #define KETCUBE_TERMINAL_CLR_LINE() ketCube_terminal_ClearCmdLine()
80 typedef struct {
81  char buffer[KETCUBE_TERMINAL_CMD_MAX_LEN + 1];
82  uint8_t ptr;
84 
85 extern void ketCube_terminal_Init(void);
86 extern void ketCube_terminal_ProcessCMD(void);
87 extern void ketCube_terminal_UpdateCmdLine(void);
88 extern void ketCube_terminal_ClearCmdLine(void);
89 
90 extern void ketCube_terminal_cmd_about(void);
91 extern void ketCube_terminal_cmd_help(void);
92 
93 void ketCube_terminal_UsartPrint(char *format, ...);
94 
95 void ketCube_terminal_Print(char *format, ...);
96 void ketCube_terminal_Println(char *format, ...);
97 
99  msgSeverity, char *format,
100  ...);
101 
102 extern void ketCube_terminal_DriverSeverityPrintln(const char * drvName, ketCube_severity_t msgSeverity, char *format, ...);
103 
105  msgSeverity,
106  ketCube_cfg_moduleIDs_t
107  modId, char *format,
108  va_list args);
109 
110 extern void ketCube_terminal_DebugPrint(char *format, ...);
111 extern void ketCube_terminal_DebugPrintln(char *format, ...);
112 
113 
114 
126 static inline void ketCube_terminal_AlwaysPrintln(ketCube_cfg_moduleIDs_t
127  modId, char *format, ...)
128 {
129  va_list args;
130  va_start(args, format);
132  format, args);
133  va_end(args);
134 }
135 
136 static inline void ketCube_terminal_NewDebugPrintln(ketCube_cfg_moduleIDs_t
137  modId, char *format,
138  ...)
139 {
140  va_list args;
141  va_start(args, format);
143  format, args);
144  va_end(args);
145 }
146 
147 static inline void ketCube_terminal_ErrorPrintln(ketCube_cfg_moduleIDs_t
148  modId, char *format, ...)
149 {
150  va_list args;
151  va_start(args, format);
153  format, args);
154  va_end(args);
155 }
156 
157 static inline void ketCube_terminal_InfoPrintln(ketCube_cfg_moduleIDs_t
158  modId, char *format, ...)
159 {
160  va_list args;
161  va_start(args, format);
163  format, args);
164  va_end(args);
165 }
166 
176 #endif /* KETCUBE_TERMINAL_H */
ketCube_terminal_buffer_t
Terminal user input item.
Definition: ketCube_terminal.h:80
ketCube_terminal_DebugPrint
void ketCube_terminal_DebugPrint(char *format,...)
Print Debug info to serial line.
Definition: ketCube_terminal.c:1198
ketCube_terminal_cmd_help
void ketCube_terminal_cmd_help(void)
Definition: ketCube_terminal_common.c:128
ketCube_terminal_cmd_about
void ketCube_terminal_cmd_about(void)
Definition: ketCube_terminal_common.c:151
ketCube_terminal_DriverSeverityPrintln
void ketCube_terminal_DriverSeverityPrintln(const char *drvName, ketCube_severity_t msgSeverity, char *format,...)
Print Debug info to serial line + newline.
Definition: ketCube_terminal.c:1126
ketCube_terminal_DebugPrintln
void ketCube_terminal_DebugPrintln(char *format,...)
Print Debug info to serial line + newline.
Definition: ketCube_terminal.c:1172
ketCube_terminal_UsartPrint
void ketCube_terminal_UsartPrint(char *format,...)
Definition: ketCube_terminal.c:182
ketCube_terminal_InfoPrintln
static void ketCube_terminal_InfoPrintln(ketCube_cfg_moduleIDs_t modId, char *format,...)
Definition: ketCube_terminal.h:157
ketCube_terminal_Println
void ketCube_terminal_Println(char *format,...)
Print line to serial line + newline.
Definition: ketCube_terminal.c:1067
ketCube_terminal_CoreSeverityPrintln
void ketCube_terminal_CoreSeverityPrintln(ketCube_severity_t msgSeverity, char *format,...)
Print Debug info to serial line + newline.
Definition: ketCube_terminal.c:1103
ketCube_terminal_AlwaysPrintln
static void ketCube_terminal_AlwaysPrintln(ketCube_cfg_moduleIDs_t modId, char *format,...)
Definition: ketCube_terminal.h:126
KETCUBE_CFG_SEVERITY_DEBUG
@ KETCUBE_CFG_SEVERITY_DEBUG
Definition: ketCube_cfg.h:129
KETCUBE_CFG_SEVERITY_NONE
@ KETCUBE_CFG_SEVERITY_NONE
Definition: ketCube_cfg.h:126
ketCube_terminal_ProcessCMD
void ketCube_terminal_ProcessCMD(void)
Process user input.
Definition: ketCube_terminal.c:980
ketCube_terminal_UpdateCmdLine
void ketCube_terminal_UpdateCmdLine(void)
Print current unfinished command.
Definition: ketCube_terminal.c:918
ketCube_terminal_ModSeverityPrintln
void ketCube_terminal_ModSeverityPrintln(ketCube_severity_t msgSeverity, ketCube_cfg_moduleIDs_t modId, char *format, va_list args)
Print Debug info to serial line + newline.
Definition: ketCube_terminal.c:1150
ketCube_terminal_NewDebugPrintln
static void ketCube_terminal_NewDebugPrintln(ketCube_cfg_moduleIDs_t modId, char *format,...)
Definition: ketCube_terminal.h:136
ketCube_terminal_Print
void ketCube_terminal_Print(char *format,...)
Print format to serial line.
Definition: ketCube_terminal.c:1083
ketCube_terminal_Init
void ketCube_terminal_Init(void)
Init terminal.
Definition: ketCube_terminal.c:222
KETCUBE_TERMINAL_CMD_MAX_LEN
#define KETCUBE_TERMINAL_CMD_MAX_LEN
Definition: ketCube_terminal.h:69
ketCube_terminal_ClearCmdLine
void ketCube_terminal_ClearCmdLine(void)
Clear command line.
Definition: ketCube_terminal.c:931
ketCube_terminal_buffer_t::ptr
uint8_t ptr
Definition: ketCube_terminal.h:82
KETCUBE_CFG_SEVERITY_INFO
@ KETCUBE_CFG_SEVERITY_INFO
Definition: ketCube_cfg.h:128
ketCube_severity_t
ketCube_severity_t
KETCube debug severity definition.
Definition: ketCube_cfg.h:125
ketCube_terminal_common.h
This file contains shared definitions for the terminal (local and remote)
KETCUBE_CFG_SEVERITY_ERROR
@ KETCUBE_CFG_SEVERITY_ERROR
Definition: ketCube_cfg.h:127
ketCube_terminal_ErrorPrintln
static void ketCube_terminal_ErrorPrintln(ketCube_cfg_moduleIDs_t modId, char *format,...)
Definition: ketCube_terminal.h:147