SDK สำหรับ TESAIoT Dev Kit
คู่มืออ้างอิง API และ Tutorial (MTB & µPython)
Loading...
Searching...
No Matches
ipc_ui.h
Go to the documentation of this file.
1/*******************************************************************************
2 * File Name: ipc_ui.h
3 *
4 * Description: CM55 IPC UI handler — receives widget commands from CM33_NS
5 * MicroPython 'ui' module via IPC Pipe.
6 *
7 * ISR callback -> FreeRTOS queue -> LVGL timer (50ms) processes
8 * commands in GFX task context.
9 *
10 *******************************************************************************/
11
12#ifndef IPC_UI_H
13#define IPC_UI_H
14
15#include "lvgl.h"
16#include <stdbool.h>
17
26bool ipc_ui_init(lv_obj_t *parent);
27
35void ipc_ui_set_container(lv_obj_t *parent);
36
47bool ipc_ui_ext_dispatch(uint32_t cmd, const uint8_t *data);
48
49/* Touch activity hook — arms the 5 ms fast drain for one FAST_TIMEOUT window.
50 * Called from ui_widget_mgr_event_push() (GFX task context) so the very first
51 * tap of a quiescent app is answered at fast-mode latency instead of waiting
52 * out the 200 ms idle tick. Deliberately NOT wired to POLL_EVENTS: polling is
53 * continuous, so arming there would pin fast mode on permanently and revert
54 * the GFX sleep-clamp tuning that protects ai_infer/radar. */
56
57#endif /* IPC_UI_H */
bool ipc_ui_ext_dispatch(uint32_t cmd, const uint8_t *data)
ให้นิยามเอง ห้ามเรียก — dispatch ส่วนขยายของโปรเจกต์สำหรับ opcode ย่าน UI ที่ยังไม่มีตัวจัดการ
void ipc_ui_set_container(lv_obj_t *parent)
เป็นการส่งต่อบรรทัดเดียวไปยัง ui_widget_mgr_set_parent(); การส่ง NULL ตอนทำลายเป็นข้อบังคับ
void ipc_ui_input_activity(void)
ตั้ง fast drain 5 ms ให้พร้อมทำงานเป็นเวลาหนึ่งช่วง FAST_TIMEOUT
bool ipc_ui_init(lv_obj_t *parent)
การเริ่มการทำงานของ UI handler — ลำดับสุดท้ายใน boot prologue และถูกกั้นด้วย display_ok