# API指南 ## 8ms相关 初始化页面列表 void qmsd_screen_list_init(int max); 注册页面 void qmsd_screen_register(lv_obj_t* obj,const char* id); 移除注册页面 void qmsd_screen_remove(const char *id); 为指定obj设置识别ID void qmsd_obj_set_id(lv_obj_t* obj,const char *id); 打印当前已注册的所有页面 void qmsd_screen_print(); 根据注册id搜索页面 lv_obj_t* qmsd_search_screen(const char *id); 根据注册id搜索控件 lv_obj_t* qmsd_search_widget(const char *id); 获取对应名称的图片资源 lv_img_src_t *qmsd_get_img(const char *w_name); 获取对应名称的字体资源 lv_font_t *qmsd_get_font(const char *w_name); 向页面的所有子控件发送事件 void qmsd_send_event_to_chill(lv_obj_t* obj, lv_obj_t* prev, qmsd_event event) ## 控制协议相关 - 将控制协议通过文本消息发送至Ui线程内部 int qmsd_ctrl_str(const char *json_str); - 利用互斥锁等待UI线程处理间隔解析并执行相关操作 char *qmsd_ctrl_str_sync(const char *json_str); - 在GUI线程内部解析并处理控制协议,仅限在GUI线程内部使用 char *qmsd_ctrl_str_gui(const char *json_str); ## 初始化 - GUI初始化,custom_fb_size,自定义LVGL buffer大小,为0,表示使用默认参数,dir为屏幕方向(参看qmsd_screen_rotation_t的定义) esp_err_t qmsd_gui_init(uint32_t custom_fb_size, uint8_t dir); - 存储初始化,初始化qmsd_storage的NVS分区 void qmsd_storage_init(void); - 初始化消息队列,一般用于控件回调给主线程发送消息 int qmsd_main_msgque_init(int msgmax); - 通知链初始化,qmsd_api中用到很多通知链来通知事件 int qmsd_notifier_register(struct qmsd_notifier_block *n);