Compacted font, use powerOff for EPDs

This commit is contained in:
Djuri Baars 2023-11-13 16:37:48 +01:00
parent 07144f6b6a
commit 3f49b3ef4e
2 changed files with 156 additions and 2756 deletions

File diff suppressed because it is too large Load Diff

View File

@ -58,7 +58,7 @@ TaskHandle_t tasks[NUM_SCREENS];
#define UPDATE_QUEUE_SIZE 14 #define UPDATE_QUEUE_SIZE 14
QueueHandle_t updateQueue; QueueHandle_t updateQueue;
//SemaphoreHandle_t epdUpdateSemaphore[NUM_SCREENS]; // SemaphoreHandle_t epdUpdateSemaphore[NUM_SCREENS];
int fgColor = GxEPD_WHITE; int fgColor = GxEPD_WHITE;
int bgColor = GxEPD_BLACK; int bgColor = GxEPD_BLACK;
@ -188,7 +188,6 @@ extern "C" void updateDisplay(void *pvParameters) noexcept
// Wait for the task notification // Wait for the task notification
ulTaskNotifyTake(pdTRUE, portMAX_DELAY); ulTaskNotifyTake(pdTRUE, portMAX_DELAY);
uint count = 0; uint count = 0;
while (EPD_BUSY[epdIndex].digitalRead() == HIGH || count < 10) while (EPD_BUSY[epdIndex].digitalRead() == HIGH || count < 10)
{ {
@ -209,15 +208,15 @@ extern "C" void updateDisplay(void *pvParameters) noexcept
{ {
if (displays[epdIndex].displayWithReturn(updatePartial)) if (displays[epdIndex].displayWithReturn(updatePartial))
{ {
displays[epdIndex].hibernate(); displays[epdIndex].powerOff();
currentEpdContent[epdIndex] = epdContent[epdIndex]; currentEpdContent[epdIndex] = epdContent[epdIndex];
if (!updatePartial) if (!updatePartial)
lastFullRefresh[epdIndex] = millis(); lastFullRefresh[epdIndex] = millis();
break;
if (eventSourceTaskHandle != NULL) if (eventSourceTaskHandle != NULL)
xTaskNotifyGive(eventSourceTaskHandle); xTaskNotifyGive(eventSourceTaskHandle);
break;
} }
vTaskDelay(pdMS_TO_TICKS(100)); vTaskDelay(pdMS_TO_TICKS(100));
@ -226,7 +225,6 @@ extern "C" void updateDisplay(void *pvParameters) noexcept
} }
} }
void splitText(const uint dispNum, const String &top, const String &bottom, bool partial) void splitText(const uint dispNum, const String &top, const String &bottom, bool partial)
{ {
displays[dispNum].setRotation(2); displays[dispNum].setRotation(2);
@ -387,10 +385,13 @@ void waitUntilNoneBusy()
{ {
count++; count++;
vTaskDelay(10); vTaskDelay(10);
if (count == 200) { if (count == 200)
{
displays[i].init(0, false); displays[i].init(0, false);
vTaskDelay(100); vTaskDelay(100);
} else if (count > 205) { }
else if (count > 205)
{
break; break;
} }
} }