Compare commits
3
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a006c45d98 | ||
|
|
135278ba18 | ||
|
|
c76c2ef7e5 |
No files matched your search
@@ -13,6 +13,11 @@ LibreHardwareMonitorLib.dll ──> PowerShell-агент ──COM (USB CDC)─
|
|||||||
их. Всё чтение датчиков происходит на компьютере — иначе никак: температура CPU
|
их. Всё чтение датчиков происходит на компьютере — иначе никак: температура CPU
|
||||||
доступна только через драйвер уровня ядра.
|
доступна только через драйвер уровня ядра.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
*Две поправки к изображению: экран на этой плате 0.42″ (72×40), а не 0.96″;
|
||||||
|
график строится по температуре, а не по загрузке — загрузка выводится цифрой.*
|
||||||
|
|
||||||
Подключение — по USB-кабелю, которым плата и так питается. Wi-Fi не
|
Подключение — по USB-кабелю, которым плата и так питается. Wi-Fi не
|
||||||
используется: настраивать нечего, задержки нет.
|
используется: настраивать нечего, задержки нет.
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 2.0 MiB |
@@ -12,6 +12,15 @@ static const uint8_t GRAPH_W = 72; // по пикселю на отсчёт: 72
|
|||||||
static const uint8_t GRAPH_TOP = 28;
|
static const uint8_t GRAPH_TOP = 28;
|
||||||
static const uint8_t GRAPH_H = 12;
|
static const uint8_t GRAPH_H = 12;
|
||||||
|
|
||||||
|
// Значок процессора в правом верхнем углу. Полоса y=0..10 выбрана не случайно:
|
||||||
|
// строка загрузки лежит ниже (y=11..24), а цифры температуры не дотягиваются
|
||||||
|
// сюда даже в трёхзначном виде (49 px + градус = 56). Значит значок не перекроет
|
||||||
|
// ничего ни при каких значениях. Размеры измерены на плате, не на глаз.
|
||||||
|
static const uint8_t ICON_W = 11;
|
||||||
|
static const uint8_t ICON_H = 11;
|
||||||
|
static const uint8_t ICON_X = 72 - ICON_W;
|
||||||
|
static const uint8_t ICON_Y = 0;
|
||||||
|
|
||||||
static uint8_t history[GRAPH_W]; // 0 = нет данных, иначе высота столбика 1..GRAPH_H
|
static uint8_t history[GRAPH_W]; // 0 = нет данных, иначе высота столбика 1..GRAPH_H
|
||||||
|
|
||||||
void uiBegin() {
|
void uiBegin() {
|
||||||
@@ -42,6 +51,19 @@ static void drawGraph() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Микросхема: корпус, ядро внутри и по три вывода с каждой стороны.
|
||||||
|
static void drawCpuIcon(uint8_t x, uint8_t y) {
|
||||||
|
display.drawFrame(x + 1, y + 1, ICON_W - 2, ICON_H - 2);
|
||||||
|
display.drawBox(x + 4, y + 4, 3, 3);
|
||||||
|
for (uint8_t i = 0; i < 3; i++) {
|
||||||
|
const uint8_t o = 3 + i * 2;
|
||||||
|
display.drawPixel(x + o, y);
|
||||||
|
display.drawPixel(x + o, y + ICON_H - 1);
|
||||||
|
display.drawPixel(x, y + o);
|
||||||
|
display.drawPixel(x + ICON_W - 1, y + o);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Негатив всего кадра. Через буфер, а не командой контроллера: так поведение
|
// Негатив всего кадра. Через буфер, а не командой контроллера: так поведение
|
||||||
// не зависит от конкретной микросхемы дисплея.
|
// не зависит от конкретной микросхемы дисплея.
|
||||||
static void invertBuffer() {
|
static void invertBuffer() {
|
||||||
@@ -79,6 +101,8 @@ void uiRender(bool fresh, float tempC, int loadPct, bool invert) {
|
|||||||
snprintf(buf, sizeof(buf), "%d%%", loadPct);
|
snprintf(buf, sizeof(buf), "%d%%", loadPct);
|
||||||
display.drawStr(numWidth + 2, 24, buf);
|
display.drawStr(numWidth + 2, 24, buf);
|
||||||
|
|
||||||
|
drawCpuIcon(ICON_X, ICON_Y);
|
||||||
|
|
||||||
drawGraph();
|
drawGraph();
|
||||||
|
|
||||||
if (invert) invertBuffer();
|
if (invert) invertBuffer();
|
||||||
|
|||||||
Reference in new issue
Block a user