forked from btclock/btclock_v3
Compacted font, use powerOff for EPDs
This commit is contained in:
parent
07144f6b6a
commit
3f49b3ef4e
2 changed files with 156 additions and 2756 deletions
File diff suppressed because it is too large
Load diff
|
@ -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,45 +188,43 @@ 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;
|
||||||
|
while (EPD_BUSY[epdIndex].digitalRead() == HIGH || count < 10)
|
||||||
|
{
|
||||||
|
vTaskDelay(pdMS_TO_TICKS(100));
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
|
||||||
uint count = 0;
|
bool updatePartial = true;
|
||||||
while (EPD_BUSY[epdIndex].digitalRead() == HIGH || count < 10)
|
|
||||||
|
// Full Refresh every x minutes
|
||||||
|
if (!lastFullRefresh[epdIndex] || (millis() - lastFullRefresh[epdIndex]) > (preferences.getUInt("fullRefreshMin", 30) * 60 * 1000))
|
||||||
|
{
|
||||||
|
updatePartial = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
char tries = 0;
|
||||||
|
while (tries < 3)
|
||||||
|
{
|
||||||
|
if (displays[epdIndex].displayWithReturn(updatePartial))
|
||||||
{
|
{
|
||||||
vTaskDelay(pdMS_TO_TICKS(100));
|
displays[epdIndex].powerOff();
|
||||||
count++;
|
currentEpdContent[epdIndex] = epdContent[epdIndex];
|
||||||
|
if (!updatePartial)
|
||||||
|
lastFullRefresh[epdIndex] = millis();
|
||||||
|
|
||||||
|
if (eventSourceTaskHandle != NULL)
|
||||||
|
xTaskNotifyGive(eventSourceTaskHandle);
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool updatePartial = true;
|
vTaskDelay(pdMS_TO_TICKS(100));
|
||||||
|
tries++;
|
||||||
// Full Refresh every x minutes
|
}
|
||||||
if (!lastFullRefresh[epdIndex] || (millis() - lastFullRefresh[epdIndex]) > (preferences.getUInt("fullRefreshMin", 30) * 60 * 1000))
|
|
||||||
{
|
|
||||||
updatePartial = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
char tries = 0;
|
|
||||||
while (tries < 3)
|
|
||||||
{
|
|
||||||
if (displays[epdIndex].displayWithReturn(updatePartial))
|
|
||||||
{
|
|
||||||
displays[epdIndex].hibernate();
|
|
||||||
currentEpdContent[epdIndex] = epdContent[epdIndex];
|
|
||||||
if (!updatePartial)
|
|
||||||
lastFullRefresh[epdIndex] = millis();
|
|
||||||
break;
|
|
||||||
|
|
||||||
|
|
||||||
if (eventSourceTaskHandle != NULL)
|
|
||||||
xTaskNotifyGive(eventSourceTaskHandle);
|
|
||||||
}
|
|
||||||
|
|
||||||
vTaskDelay(pdMS_TO_TICKS(100));
|
|
||||||
tries++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue