特色-灯带裁剪
功能介绍
- 用户可在 App 上进行修正调整灯带长度,来调节灯光显示范围。
DP 协议
- 通过多个 DP 的配合来进行灯带长度或个数显示的调节。
- 【灯带长度】为可选功能,如果选中了此DP点,则面板上会以长度单位(米)来显示灯带长度设置内容,如果不选中此DP点,则以点数/数量来显示灯带点数设置内容
- 【灯带点数】为必选功能,表示设备驱动的总芯片数量/总点数,这个DP仅上报,面板能通过这个DP点获取到设备总点数
- 【点数/长度设置】为可选功能,如果选中了此DP点,则面板会显示灯带长度设置的板块,用户可在 App 上进行修正调整灯带长度,来调节灯光显示范围;如果不选择此DP点,则面板上不显示灯带长度设置的内容,用户无法进行二次设置
如何开发
-
裁剪 DP 具体逻辑:
- light_pixel与light_length dp都存在
- 首次配网,light_pixel与lightpixel_number_set初始数据上报一样
- 面板进行长度设置时需要下发 lightpixel_number_set dp,实际上是点数
- 举个例子🌰:
- light_length => 200cm === 2m
- light_pixel => 100 对应的意思是在2m上有100个灯珠
- 进行长度设置时需要转换为点数下发:
- 比如从中间裁剪了,那么剩余长度应该为1m
- 主要是页面展示中需要,下发时直接使用灯珠数
- 下发值为:50 对应的灯珠数
- 比如从中间裁剪了,那么剩余长度应该为1m
- 下发最大最小限制:
const max = lightPixel;const min = 10;
- light_pixel dp存在,light_length dp不存在
- 首次配网,light_pixel与lightpixel_number_set初始数据上报一样
- 面板进行长度设置时需要下发 lightpixel_number_set dp,实际上是点数
- 举个例子🌰:
- light_pixel => 100 对应的意思是灯带有100个灯珠
- 直接下发对应的灯珠数据
- 下发最大最小限制:
const max = lightPixel;const min = 10;
- 举个例子🌰:
- light_pixel与light_length dp都存在
-
参考上面 DP 操作,直接下发对应 DP 值。
- 注意 DP 下发的只灯珠数,对应 lightpixel_number_set dp。
- 具体监听与下发示例
注意事项
- 设备裁剪保存后,要实现在裁剪的RGB混光状态会恢复到之前运行的状态
- 只需要重新下发设置 work_mode
相关物料
- 【功能页】:
- 【组件】:无
- 【教程】:无
- 【SDK】:无
- 【API】:无