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);