color refactoring

This commit is contained in:
2020-11-03 17:30:01 +01:00
parent bef20bcaed
commit 6bbe4d7eaf
3 changed files with 39 additions and 16 deletions

View File

@ -60,17 +60,22 @@ static void flashGreenLed(void *handle) {
}
#endif // TEST
int logMsg(const char *format, ...) {
static int innerLogMsg(const char *pre, const char *post, const char *format, va_list vl) {
int res = -1;
char msgBuffer[MSGBUFFER_SIZE];
int offset = 0;
char msgBuffer[MSGBUFFER_SIZE+20];
memset(msgBuffer, 0, MSGBUFFER_SIZE+20);
va_list vl;
va_start(vl, format);
int vcnt = vsnprintf(msgBuffer, MSGBUFFER_SIZE-2, format, vl);
va_end(vl);
if (pre) {
strcpy(msgBuffer, pre);
offset = strlen(pre);
}
int vcnt = vsnprintf(msgBuffer+offset, MSGBUFFER_SIZE, format, vl);
if (vcnt < MSGBUFFER_SIZE) {
strcat(msgBuffer, "\r\n");
if (post) {
strcat(msgBuffer, post);
}
if (-1 == (res = ringbufferPut(&logBuffer, (uint8_t*) msgBuffer, strlen(msgBuffer)))) {
#ifndef TEST
@ -84,3 +89,21 @@ int logMsg(const char *format, ...) {
}
return res;
}
int logMsg(const char *format, ...) {
va_list vl;
va_start(vl, format);
int res = innerLogMsg(NULL, "\r\n", format, vl);
va_end(vl);
return res;
}
int errMsg(const char *format, ...) {
va_list vl;
va_start(vl, format);
int res = innerLogMsg("\x1b[31;1m", "\x1b[0m\r\n", format, vl);
va_end(vl);
return res;
}