-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathLogger.cpp
92 lines (74 loc) · 1.6 KB
/
Logger.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#include "Logger.h"
Logger::Logger(byte bufferSize) {
m_enabled = true;
m_bufferSize = bufferSize;
}
void Logger::Clear() {
while (Available()) {
Pop();
}
}
void Logger::SetBufferSize(byte size) {
m_bufferSize = size;
}
void Logger::Disable() {
m_enabled = false;
Clear();
}
void Logger::Enable() {
m_enabled = true;
}
bool Logger::IsEnabled() {
return m_enabled;
}
void Logger::println(LogType type) {
println("", type);
}
void Logger::print(uint32_t data, LogType type) {
print(String(data), type);
}
void Logger::println(uint32_t data, LogType type) {
println(String(data), type);
}
void Logger::logData(String data, LogType type) {
if (m_enabled && m_queue.Count() <= m_bufferSize) {
m_queue.Push("DATA:" + data);
}
}
void Logger::print(String data, LogType type) {
if (m_enabled && type != LogType::ONLYSYS) {
Serial.print(data);
}
if (m_enabled && m_queue.Count() <= m_bufferSize) {
m_currentLine += data;
}
}
void Logger::println(String data, LogType type) {
if (m_enabled && type != LogType::ONLYSYS) {
Serial.println(data);
}
String line = m_currentLine + data;
if (m_enabled && m_queue.Count() <= m_bufferSize) {
switch (type) {
case Logger::SYS:
line = "SYS: " + line;
break;
case Logger::DATA:
line = "DATA: " + line;
break;
case Logger::PCA301:
line = "PCA301: " + line;
break;
default:
break;
}
m_queue.Push(line);
}
m_currentLine = "";
}
int Logger::Available() {
return m_queue.Count();
}
String Logger::Pop() {
return m_queue.Pop();
}