Skip to content

Commit 9a29d25

Browse files
committed
mod: Monitor _debug_mode
1 parent 87402b9 commit 9a29d25

File tree

1 file changed

+22
-3
lines changed

1 file changed

+22
-3
lines changed

src/monitor.h

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ class BridgeMonitor: public Stream {
3131
RingBufferN<BufferSize> temp_buffer;
3232
struct k_mutex monitor_mutex{};
3333
bool _connected = false;
34+
bool _debug_mode = false;
3435

3536
public:
3637
explicit BridgeMonitor(BridgeClass& bridge): bridge(&bridge) {}
@@ -56,6 +57,20 @@ class BridgeMonitor: public Stream {
5657
return out;
5758
}
5859

60+
void setDebugMode(bool debug_mode) {
61+
k_mutex_lock(&monitor_mutex, K_FOREVER);
62+
_debug_mode = debug_mode;
63+
k_mutex_unlock(&monitor_mutex);
64+
}
65+
66+
bool debugMode() {
67+
bool debug_mode;
68+
k_mutex_lock(&monitor_mutex, K_FOREVER);
69+
debug_mode = _debug_mode;
70+
k_mutex_unlock(&monitor_mutex);
71+
return debug_mode;
72+
}
73+
5974
bool is_connected() {
6075
k_mutex_lock(&monitor_mutex, K_FOREVER);
6176
bool out = _connected;
@@ -114,10 +129,14 @@ class BridgeMonitor: public Stream {
114129
send_buffer += static_cast<char>(buffer[i]);
115130
}
116131

117-
size_t written;
118-
const bool ret = bridge->call(MON_WRITE_METHOD, send_buffer).result(written);
132+
size_t written = 0;
133+
if (debugMode()) {
134+
bridge->call(MON_WRITE_METHOD, send_buffer).result(written);
135+
} else {
136+
bridge->notify(MON_WRITE_METHOD, send_buffer);
137+
}
119138

120-
return ret? written : 0;
139+
return written;
121140
}
122141

123142
bool reset() {

0 commit comments

Comments
 (0)