display: refine public display API header

This commit is contained in:
Stanislav N Mikhailov
2026-02-23 14:00:16 +03:00
parent d05948a95c
commit a9e3852891
+19 -19
View File
@@ -10,7 +10,7 @@ extern "C" {
/* ============================================================ /* ============================================================
=== Compile-time configuration === Конфигурация времени компиляции
============================================================ */ ============================================================ */
/* /*
@@ -26,24 +26,24 @@ extern "C" {
/* ============================================================ /* ============================================================
=== Modes === Режимы
============================================================ */ ============================================================ */
typedef enum typedef enum
{ {
/* /*
* SAFE: * SAFE:
* - swap управляется engine * - сменой буферов управляет движок
* - нет tearing при 2 буферах * - нет разрывов кадра при 2 буферах
* - возможны блокировки * - возможны блокировки
*/ */
DISPLAY_MODE_SAFE = 0, DISPLAY_MODE_SAFE = 0,
/* /*
* RAW: * RAW:
* - swap управляется пользователем * - сменой буферов управляет пользователь
* - engine не блокирует * - движок не блокирует
* - tearing возможен * - возможны разрывы кадра
*/ */
DISPLAY_MODE_RAW DISPLAY_MODE_RAW
@@ -51,14 +51,14 @@ typedef enum
/* ============================================================ /* ============================================================
=== Callback === Колбэк
============================================================ */ ============================================================ */
typedef void (*display_frame_done_cb_t)(void); typedef void (*display_frame_done_cb_t)(void);
/* ============================================================ /* ============================================================
=== Configuration === Конфигурация
============================================================ */ ============================================================ */
typedef struct typedef struct
@@ -85,24 +85,24 @@ typedef struct
/* ============================================================ /* ============================================================
=== Lifecycle === Жизненный цикл
============================================================ */ ============================================================ */
/* /*
* Инициализация display engine. * Инициализация движка дисплея.
* Выделяет буферы и инициализирует HW. * Выделяет буферы и инициализирует HW.
*/ */
void display_init(const display_config_t* cfg); void display_init(const display_config_t* cfg);
/* ============================================================ /* ============================================================
=== Buffer access === Доступ к буферам
============================================================ */ ============================================================ */
/* /*
* Буфер для рисования. * Буфер для рисования.
* *
* SAFE + 1 buffer: * SAFE + 1 буфер:
* может блокировать пока DMA активен. * может блокировать пока DMA активен.
* *
* RAW: * RAW:
@@ -118,11 +118,11 @@ uint16_t* display_get_scanout_buffer(void);
/* ============================================================ /* ============================================================
=== Buffer control (RAW mode only) === Управление буферами (только режим RAW)
============================================================ */ ============================================================ */
/* /*
* Явная смена ролей draw/scanout. * Явная смена ролей буферов рисования и вывода.
* *
* Возвращает false если: * Возвращает false если:
* - не RAW режим * - не RAW режим
@@ -133,11 +133,11 @@ bool display_swap_buffers(void);
/* ============================================================ /* ============================================================
=== Frame control === Управление кадром
============================================================ */ ============================================================ */
/* /*
* Запуск передачи текущего scanout буфера. * Запуск передачи текущего буфера вывода.
* *
* Возвращает false если DMA активен. * Возвращает false если DMA активен.
*/ */
@@ -164,11 +164,11 @@ void display_poll(void);
/* ============================================================ /* ============================================================
=== IRQ hook === Хук IRQ
============================================================ */ ============================================================ */
/* /*
* Должен вызываться из реального DMA IRQ handler. * Должен вызываться из реального обработчика DMA IRQ.
*/ */
void display_dma_irq_handler(void); void display_dma_irq_handler(void);