1 Star 0 Fork 57

Good_Luck_Fang/QF_ZERO_V2_SOFTWARE

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
系统键值对 5.18 KB
一键复制 编辑 原始数据 按行查看 历史
启凡科创 提交于 2024-06-28 20:44 . ### ** VER:V1.0.8 Release
# 键值对通信:
# 包含键名(字符串)和值(此项目采用指针传递参数),通过一个键值中间层,解决应用层和底层之间的耦合问题,使APP和底层相互独立。
# 使用方法简述:如使用key_value_register(NULL,"sys_btn",your_function);订阅了按键事件后,当有按键按下时,系统app将发送一条名为"sys_btn"的键事件,查找到有订阅"sys_btn"事件后,将会调用函数your_function,函数接收到的用户数据即为按键的键值btn_event_t
# 除了系统已经定义好的键值对,用户可以任意发布(key_value_msg)键值对信息和订阅key_value_register,删除key_value_del
# 系统参数键值通信格式:
# /**
# * @brief 注册(订阅)有指定键时的回调函数
# *
# * @param handle 用于接收返回句柄
# * @param key 键名
# * @param cb 回调函数
# * @return int 0:成功,1:键值对内存申请失败,2:键名内存申请失败
# */
# int key_value_register(key_value_handle_t *handle, const char *key, key_value_cb_t cb);
#
# /**
# * @brief 创建(发布)一条键值对通知
# *
# * @param key 键名,可以是动态的
# * @param value 指向数据,可以是动态的
# * @param lenth 数据长度,字节
# * @return int 0:成功,1:无注册键,2:无指定键
# */
# int key_value_msg(const char *key, void *value, size_t lenth);
#
# /**
# * @brief 删除已注册的键
# *
# * @param handle 注册的句柄
# * @return int 0:成功,1:不存在句柄
# */
# int key_value_del(key_value_handle_t handle);
#########################################################################################
# 以下为用户自行发布的键,其中,获取的内容需要自己定义相应类型带入地址返回数据,设置参数需要自己定义相应类型的变量设置好值后带入参数地址进行设置
# 功能 键名 值 类型宽度
# 屏幕设置为触摸模式(默认) "sys_touch" NULL 0
# 屏幕设置为鼠标模式 "sys_mouse" NULL 0
# 获取触摸lvgl输入设备 "sys_get_tp_indev" lv_indev_t * lv_indev_t *
# 设置系统是否处于游戏模式 "game_mode" 0关闭1开启 uint8_t
# 设置背光亮度: "sys_set_blk" 1-100 uint8_t
# 查询背光亮度: "sys_get_blk" 1-100 uint8_t
# 设置息屏时间(秒S): "sys_set_rest" 3-2^32 uint32_t
# 查询息屏时间(秒S): "sys_get_rest" 3-2^32 uint32_t
# 息屏时间计时清零: "sys_clr_rest" NULL 0
# 设置屏幕背光常亮: "sys_always_on" 0(off)或1(on) uint8_t
# 设置系统时间: "sys_set_time" 时间信息结构体 clock_time_t
# 查询系统时间: "sys_get_time" 时间信息结构体 clock_time_t
# 设置电池低电量报警阈值: "sys_set_bat" 1-30 uint8_t
# 获取电池信息: "sys_get_bat" 电池信息结构体 cw2015_bat_info_t
# 设置振动器强度 "sys_set_motor" 0-100 uint8_t
# 获取USB连接状态 "sys_usb_sta" 0(无连接)或1(接入USB) uint8_t
# 获取唤醒模式 "sys_wake_mode" power_on或wake_up system_wake_t
# 关机 "sys_power_off" NULL 0
# 重启 "sys_restart" NULL 0
# 休眠 "sys_sleep" NULL 0
# 获取GUI增删权限 "take_gui_key" NULL 0
# 归还GUI增删权限 "give_gui_key" NULL 0
# 获取屏幕操作类型 "tp_type" 0(点击)1(滑动) uint8_t
# 获取屏幕当前触摸状态 "tp_sta" 0(未触摸)1(触摸中) uint8_t
# 获取步数 "mems_get_step" 0-2^32 uint32_t (仅可以读到递增值,暂未适配硬件)
# 获取天气信息 "weather_get" 天气信息结构体 weather_info_t (仅提供数据预览,暂未适配)
# 获取海拔高度 "altitude_get" -32768 - +32767 int16_t 单位m
# 获取磁偏航角 "qmc_get_angle" -180到+180 int16_t
# 获取磁力计xyz范围 "qmc_get_range" xyz区间结构体 qmc_xyz_range_t
# 设置磁力计校准使能 "qmc_calibration" 1:开始校准,0:更新参数 uint8_t
######################################################################################
# 以下为系统会达到条件时发布的键,用户可以按需订阅
# 订阅按键单击事件: "btn_click" NULL 0
# 订阅按键长按事件: "btn_long" NULL 0
# 订阅按键按下事件: "btn_down" NULL 0
# 订阅按键弹起事件: "btn_up" NULL 0
# 订阅屏幕双击事件: "tp_double" NULL 0
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/Mr_FangR/qf_-zero_-v2_-software.git
git@gitee.com:Mr_FangR/qf_-zero_-v2_-software.git
Mr_FangR
qf_-zero_-v2_-software
QF_ZERO_V2_SOFTWARE
master

搜索帮助