embedded-software
reusable software modules for embedded systems
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
subsystem.h File Reference
#include <stdarg.h>
#include "library.h"
#include "project_settings.h"
Include dependency graph for subsystem.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define SUBSYSTEM_IO_NONE   0
 
#define SUBSYSTEM_IO_UART   1
 
#define SUBSYSTEM_IO_PRINTF   2
 
#define SUBSYSTEM_IO_CUSTOM   255
 
#define SUBSYSTEM_IO   SUBSYSTEM_IO_NONE
 
#define LogError(sys_id, str,...)
 
#define LogWarning(sys_id, str,...)
 
#define LogMsg(sys_id, str,...)
 
#define LogDebug(sys_id, str,...)
 
#define Subsystem_printf(str,...)
 
#define Subsystem_vprintf(str, arg)
 
#define Subsystem_PrintChar(c)
 
#define Subsystem_RegisterReceiver(r)
 
#define SYSTEM_VERSION   0x04000000u
 subsystem module version number More...
 
#define RECEIVE_MAX_LENGTH   64
 default length of receive line for commands More...
 
#define RECEIVE_START_CHAR   '$'
 start character for command lines More...
 
#define RECEIVE_STOP_CHAR   '\r'
 stop character for command lines More...
 
#define RECEIVE_MAX_ARGC   8
 max number of arguments after the command name More...
 
#define GetLogTimestamp()   TimeNow()
 

Enumerations

enum  log_level {
  LOG_OFF = 0, LOG_ERROR, LOG_WARNING, LOG_MESSAGE,
  LOG_DEBUG
}
 

Functions

void LogStr (char *str,...)
 
void Subsystem_Write (uint8_t subsystem_id, enum log_level level, char *str,...)
 
uint8_t Subsystem_Init (char *name, version_t version, void(*callback)(int argc, char *argv[]))
 
void Subsystem_RegisterCallback (uint8_t subsystem_id, void(*callback)(int argc, char *argv[]))
 
char * Subsystem_GetName (uint8_t subsystem_id)
 
void Log_EchoOn (void)
 
void Log_EchoOff (void)
 
uint8_t Log_GetEcho (void)
 
void Log_Version (uint8_t subys_id)
 
void Log_Header (uint8_t subsystem_id, enum log_level level)
 
void Log_MuteAll (void)
 
void Log_UnmuteAll (void)
 
void Log_MuteSys (uint8_t sys_id)
 
void Log_UnmuteSys (uint8_t sys_id)
 
void Log_SetLevel (uint8_t sys_id, enum log_level level)
 
uint16_t ArgToU16 (char *arg)
 
uint8_t ArgToU8 (char *arg)
 
uint32_t ArgToU32 (char *arg)
 
void Subsystem_SystemDisable (void)
 
void Subsystem_SystemEnable (void)