SDK开发说明
SDK UI线程框架
UI刷新说明
如果在其他线程里面更新UI元素,请使用qmsd_ui_lock和qmsd_ui_unlock进行上锁操作,防止和UI线程相互操作,如果在UI线程内部则可以直接调用API进行更新
if (qmsd_gui_lock(portMAX_DELAY) == 0) {
// update ui
qmsd_ui_unlock();
}
DEMO目录说明
通知链(notifier)
API
目前qmsd_api大多数API都使用了通知链来通知事件。
初始化
int qmsd_notifier_init(void)
注意:qmsd_mod_init会调用qmsd_notifier_init,进行初始化
反初始化
int qmsd_notifier_uninit(void)
注册cb
int qmsd_notifier_register(struct qmsd_notifier_block *n)
注销cb
int qmsd_notifier_unregister(struct qmsd_notifier_block *n)
不加锁调用(由于目前基本注册cb只有一次,所以建议用这个函数)
int qmsd_notifier_call_nolock(unsigned int action, void *v)
加锁调用
int qmsd_notifier_call(unsigned int action, void *v)