Skip to content

Commit d3d76a1

Browse files
Add soft display buffer cap
1 parent 68f2bd1 commit d3d76a1

File tree

3 files changed

+37
-24
lines changed

3 files changed

+37
-24
lines changed

esp32_marauder/Display.cpp

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -505,21 +505,26 @@ void Display::displayBuffer(bool do_clear)
505505
{
506506
if (this->display_buffer->size() > 0)
507507
{
508+
508509
int print_count = 10;
510+
509511
while ((display_buffer->size() > 0) && (print_count > 0))
510512
{
513+
// Freeze adding to display buffer
514+
if (display_buffer->size() > DISPLAY_BUFFER_LIMIT)
515+
this->printing = true;
511516

512517
#ifndef SCREEN_BUFFER
513518
xPos = 0;
514519
if ((display_buffer->size() > 0) && (!loading))
515520
{
516-
printing = true;
521+
//printing = true;
517522
delay(print_delay_1);
518523
yDraw = scroll_line(TFT_RED);
519524
tft.setCursor(xPos, yDraw);
520525
tft.setTextColor(TFT_GREEN, TFT_BLACK);
521526
tft.print(display_buffer->shift());
522-
printing = false;
527+
//printing = false;
523528
delay(print_delay_2);
524529
}
525530
if (!tteBar)
@@ -545,6 +550,8 @@ void Display::displayBuffer(bool do_clear)
545550

546551
print_count--;
547552
}
553+
554+
this->printing = false;
548555
}
549556
}
550557

esp32_marauder/WiFiScan.cpp

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -493,11 +493,11 @@ extern "C" {
493493

494494
Serial.println();
495495

496-
while (display_obj.printing)
497-
delay(1);
498-
display_obj.loading = true;
499-
display_obj.display_buffer->add(display_string);
500-
display_obj.loading = false;
496+
if (!display_obj.printing) {
497+
display_obj.loading = true;
498+
display_obj.display_buffer->add(display_string);
499+
display_obj.loading = false;
500+
}
501501
#endif
502502
}
503503
}
@@ -971,11 +971,11 @@ extern "C" {
971971
{
972972
display_string.concat(" ");
973973
}
974-
while (display_obj.printing)
975-
delay(1);
976-
display_obj.loading = true;
977-
display_obj.display_buffer->add(display_string);
978-
display_obj.loading = false;
974+
if (!display_obj.printing) {
975+
display_obj.loading = true;
976+
display_obj.display_buffer->add(display_string);
977+
display_obj.loading = false;
978+
}
979979
}
980980
#endif
981981
}
@@ -1194,11 +1194,11 @@ extern "C" {
11941194

11951195
Serial.println();
11961196

1197-
while (display_obj.printing)
1198-
delay(1);
1199-
display_obj.loading = true;
1200-
display_obj.display_buffer->add(display_string);
1201-
display_obj.loading = false;
1197+
if (!display_obj.printing) {
1198+
display_obj.loading = true;
1199+
display_obj.display_buffer->add(display_string);
1200+
display_obj.loading = false;
1201+
}
12021202
#endif
12031203
}
12041204
}
@@ -1654,11 +1654,11 @@ extern "C" {
16541654
{
16551655
display_string.concat(" ");
16561656
}
1657-
while (display_obj.printing)
1658-
delay(1);
1659-
display_obj.loading = true;
1660-
display_obj.display_buffer->add(display_string);
1661-
display_obj.loading = false;
1657+
if (!display_obj.printing) {
1658+
display_obj.loading = true;
1659+
display_obj.display_buffer->add(display_string);
1660+
display_obj.loading = false;
1661+
}
16621662
}
16631663
#endif
16641664
}
@@ -7701,7 +7701,11 @@ void WiFiScan::beaconSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type
77017701

77027702
Serial.print(F(" "));
77037703

7704-
display_obj.display_buffer->add(display_string);
7704+
if (!display_obj.printing) {
7705+
display_obj.loading = true;
7706+
display_obj.display_buffer->add(display_string);
7707+
display_obj.loading = false;
7708+
}
77057709
#endif
77067710

77077711
Serial.println();

esp32_marauder/configs.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,16 @@
3434
//#define MARAUDER_V8
3535
//// END BOARD TARGETS
3636

37-
#define MARAUDER_VERSION "v1.10.1"
37+
#define MARAUDER_VERSION "v1.10.2"
3838

3939
#define GRAPH_REFRESH 100
4040

4141
#define TRACK_EVICT_SEC 90 // Seconds before marking tracked MAC as tombstone
4242

4343
#define DUAL_BAND_CHANNELS 51
4444

45+
#define DISPLAY_BUFFER_LIMIT 20
46+
4547
//// HARDWARE NAMES
4648
#ifdef MARAUDER_M5STICKC
4749
#define HARDWARE_NAME "M5Stick-C Plus"

0 commit comments

Comments
 (0)