Files
OptoTest/OpticalChannelTester/Display.h
Razvalyaev c952c165f8 Добавлено энергосбережение для увеличения работы от аккума:
- через 60 сек экран выключается и есп уходит в сон
- слейв в ожидании мастера прослушивает не постоянно 20мс/100мс
2026-08-08 10:42:59 +03:00

24 lines
687 B
C++

#pragma once
#include <Arduino.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
class Display {
public:
Display();
bool begin();
void show(const char *line1, const char *line2,
uint32_t progress = 0, uint32_t progressTotal = 0);
void setPower(bool enabled);
bool available() const { return ok_; }
bool powered() const { return powered_; }
static void formatFrequency(float hz, char *out, size_t size);
static void formatTestFrequency(uint32_t hz, char *out, size_t size);
static void formatDuration(uint64_t us, char *out, size_t size);
private:
void fit(char *text);
Adafruit_SSD1306 oled_;
bool ok_ = false;
bool powered_ = false;
};