---
title: 特色-灯带裁剪
summary: 在 App 上修正调整灯带长度或点数，含 light_length、light_pixel、lightpixel_number_set DP 说明。
---

## 特色-灯带裁剪


### 功能介绍
- 用户可在 App 上进行修正调整灯带长度，来调节灯光显示范围。

### DP 协议
- 通过多个 DP 的配合来进行灯带长度或个数显示的调节。

|dpId | 含义 | dpCode | 上报下发 | 数值类型 | 属性 | 备注 |
|---|---|---|---|---|---|---|
| 46 (dpid) | 灯带长度(可选) | light_length|只上报（ro）| 数值型（Value）| 数值范围: 1-10000, 间距: 1, 倍数: 0, 单位: cm| 幻彩灯带在UI面板上展示的总长度 |
|47 | 灯带点数(必选)|light_pixel |只上报（ro）|数值型（Value）|数值范围: 1-1024, 间距: 1, 倍数: 0|幻彩灯带驱动芯片总数|
|53|点数/长度设置(可选)|lightpixel_number_set|可下发可上报（rw）|数值型（Value）|数值范围: 1-1000, 间距: 1, 倍数: 0|幻彩灯带裁剪之后，对长度重新进行设置|

- 【灯带长度】为可选功能，如果选中了此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 对应的灯珠数
      - 下发最大最小限制：
        - `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;`

- 参考上面 DP 操作，直接下发对应 DP 值。
  - 注意 DP 下发的只灯珠数，对应 lightpixel_number_set dp。
  - [具体监听与下发示例](/cn/miniapp/solution-panel/ability#dp-上报监听)

### 注意事项
- 设备裁剪保存后，要实现在裁剪的RGB混光状态会恢复到之前运行的状态
  - 只需要重新下发设置 work_mode
```js
// 退出时恢复workMode
const workModeCode = 'work_mode';
useUnmount(() => {
	dragon.putDpData({ [workModeCode]: workMode }, { checkCurrent: false});
});
```
### 相关物料
- 【功能页】：
  1. [灯带裁剪功能页](https://developer.tuya.com/material/library_oHEKLjj0/component?code=LampStripClipFunctional)
- 【组件】：无
- 【教程】：无
- 【SDK】：无
- 【API】：无
