embeddedlibrary
reusable software modules for embedded systems
subsys.h
Go to the documentation of this file.
1 
16 #ifndef SUBSYS_H_
17 #define SUBSYS_H_
18 
20 #define SYSTEM_VERSION 0x03010001u
21 
22 #ifndef RECEIVE_MAX_LENGTH
23 #define RECEIVE_MAX_LENGTH 64
24 #endif
25 #define RECEIVE_START_CHAR '$'
26 #define RECEIVE_STOP_CHAR '\r'
27 #define RECEIVE_MAX_ARGC 8
28 
29 
37 typedef struct {
38  uint16_t build;
39  uint8_t minor;
40  uint8_t major;
43 typedef union {
44  uint32_t word;
46 } version_t;
47 
156  #define GetLogTimestamp() TimeNow()
157 
158 // use Push_printf to log messages to the log buffer LOG_BUF
178 void LogStr(char * str, ...);
179 
200 void LogMsg(uint8_t subsystem_id, char * str, ...);
201 
216 uint8_t Subsystem_Init(char * name, version_t version, void (*callback)(int argc, char *argv[]));
217 
232 void Subsystem_RegisterCallback(uint8_t subsystem_id, void (*callback)(int argc, char *argv[]));
233 
241 char *GetSubsystemName(uint8_t subsystem_id);
242 
244 void Log_EchoOn(void);
245 
247 void Log_EchoOff(void);
248 
253 uint8_t Log_GetEcho(void);
254 
260 void Log_Header(uint8_t subsystem_id);
261 
265 void MuteAll(void);
266 
270 void UnmuteAll(void);
271 
275 void MuteSys(uint8_t sys_id);
276 
280 void UnmuteSys(uint8_t sys_id);
281 
282 uint16_t ArgToU16(char* arg);
283 uint8_t ArgToU8(char* arg);
284 uint32_t ArgToU32(char* arg);
285 
287 #endif /* SUBSYS_H_ */
void MuteAll(void)
Definition: subsys.c:389
version_mmb_t v
Definition: subsys.h:45
version union
Definition: subsys.h:43
void Log_EchoOn(void)
Definition: subsys.c:376
void LogStr(char *str,...)
Definition: subsys.c:264
void Subsystem_RegisterCallback(uint8_t subsystem_id, void(*callback)(int argc, char *argv[]))
Definition: subsys.c:113
uint8_t major
Definition: subsys.h:40
void Log_EchoOff(void)
Definition: subsys.c:380
Definition: subsys.h:37
void Log_Header(uint8_t subsystem_id)
Definition: subsys.c:294
uint16_t build
Definition: subsys.h:38
uint8_t Subsystem_Init(char *name, version_t version, void(*callback)(int argc, char *argv[]))
Definition: subsys.c:102
void LogMsg(uint8_t subsystem_id, char *str,...)
Definition: subsys.c:275
char * GetSubsystemName(uint8_t subsystem_id)
Definition: subsys.c:85
void UnmuteAll(void)
Definition: subsys.c:393
uint8_t Log_GetEcho(void)
Definition: subsys.c:384
void MuteSys(uint8_t sys_id)
Definition: subsys.c:397
uint8_t minor
Definition: subsys.h:39
void UnmuteSys(uint8_t sys_id)
Definition: subsys.c:401
uint32_t word
Definition: subsys.h:44