SDK สำหรับ TESAIoT Dev Kit
คู่มืออ้างอิง API และ Tutorial (ModusToolbox)
Loading...
Searching...
No Matches
ipc_ui.h
Go to the documentation of this file.
1/*******************************************************************************
2 * File Name: ipc_ui.h
3 * Description: CM55 IPC UI handler — receives widget commands from CM33_NS
4 * MicroPython 'ui' module via IPC Pipe.
5 *
6 * ISR callback -> FreeRTOS queue -> LVGL timer (50ms) processes
7 * commands in GFX task context.
8 *
9 *******************************************************************************/
10
11#ifndef IPC_UI_H
12#define IPC_UI_H
13
14#include "lvgl.h"
15#include <stdbool.h>
16
25bool ipc_ui_init(lv_obj_t *parent);
26
34void ipc_ui_set_container(lv_obj_t *parent);
35
46bool ipc_ui_ext_dispatch(uint32_t cmd, const uint8_t *data);
47
48/* Touch activity hook — arms the 5 ms fast drain for one FAST_TIMEOUT window.
49 * Called from ui_widget_mgr_event_push() (GFX task context) so the very first
50 * tap of a quiescent app is answered at fast-mode latency instead of waiting
51 * out the 200 ms idle tick. Deliberately NOT wired to POLL_EVENTS: polling is
52 * continuous, so arming there would pin fast mode on permanently and revert
53 * the GFX sleep-clamp tuning that protects the inference and radar tasks. */
55
56#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