Skip to content

Commit e67ef87

Browse files
committed
Add delay for esp32 and esp8266
1 parent 4a61d08 commit e67ef87

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

src/CommonHelix.h

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#else
66
// remove yield statment if used outside of arduino
77
#define yield()
8+
//#define delay(ms)
89
#include <stdint.h>
910
#endif
1011

@@ -114,12 +115,15 @@ class CommonHelix {
114115
// we can not write more then the AAC_MAX_FRAME_SIZE
115116
size_t write_len = min(in_size, static_cast<size_t>(maxFrameSize()-buffer_size));
116117
while(start<in_size){
117-
// we have some space left in the buffer
118+
// we have some space left in the buffer
118119
int written_len = writeFrame(ptr8+start, write_len);
119120
start += written_len;
120121
LOG(Info,"-> Written %zu of %zu - Counter %zu", start, in_size, frame_counter);
121122
write_len = min(in_size - start, static_cast<size_t>(maxFrameSize()-buffer_size));
122-
yield();
123+
// add delay - e.g. needed by esp32 and esp8266
124+
if (delay_ms>0){
125+
delay(delay_ms);
126+
}
123127
}
124128
} else {
125129
LOG(Warning, "CommonHelix not active");
@@ -131,7 +135,12 @@ class CommonHelix {
131135
/// returns true if active
132136
operator bool() {
133137
return active;
134-
}
138+
}
139+
140+
/// Defines the delay that is added at each segment
141+
virtual void setDelay(int delayMs){
142+
delay_ms = delayMs;
143+
}
135144

136145
protected:
137146
bool active = false;
@@ -141,6 +150,7 @@ class CommonHelix {
141150
size_t max_frame_size = 0;
142151
size_t max_pwm_size = 0;
143152
size_t frame_counter = 0;
153+
int delay_ms = -1;
144154

145155
#ifdef ARDUINO
146156
Print *out = nullptr;
@@ -197,7 +207,6 @@ class CommonHelix {
197207
} else {
198208
LOG(Warning, " -> invalid frame size: %d / max: %d", (int) r.end-r.start, (int) maxFrameSize());
199209
}
200-
yield();
201210
frame_counter++;
202211
return result;
203212
}

0 commit comments

Comments
 (0)