display: simplify safe buffer contract and update Thermometr example

This commit is contained in:
Stanislav N Mikhailov
2026-03-27 22:27:44 +03:00
parent b1c511fdf3
commit e21f5f8c1f
3 changed files with 48 additions and 15 deletions
+5 -6
View File
@@ -109,12 +109,11 @@ int main()
}
frame_tick_due = false; // Сбрасываем флаг и разрешаем обработать ровно один кадр на этот тик.
if (!display_ready()) // Если прошлый кадр все еще передается DMA на дисплей.
{
continue; // Пропускаем этот кадр, не накапливая задержку.
}
uint16_t* buf = display_get_draw_buffer(); // Получаем буфер, в который разрешено рисовать текущий кадр.
uint16_t* buf = display_try_acquire_draw_buffer(); // Пытаемся неблокирующе получить draw-буфер.
if (buf == NULL) // Если в SAFE+1 DMA еще занят, просто пропускаем тик кадра.
{
continue;
}
render_begin(&rc, buf, WIDTH, HEIGHT); // Привязываем контекст рендера к буферу и размерам экрана.
render_clear(&rc, RGB16(9,19,9)); // Очищаем кадр темно-зеленым фоном.