package com.hdl.sdk.ttl.HDLAppliances.HDLLight;
|
|
|
import android.graphics.Color;
|
|
import com.hdl.sdk.ttl.HDLDeviceManger.Bean.AppliancesInfo;
|
|
import java.io.Serializable;
|
import java.util.Arrays;
|
|
/**
|
* Created by panlili on 2023/8/22.
|
* CCT OR RGB
|
*/
|
|
public class ColourLightCtrlBackInfo implements Serializable {
|
AppliancesInfo appliancesInfo;
|
int channelNum;//回路号
|
String remarks;//备注
|
int brightness;//亮度
|
int type = 0;//类型:1单路,2CCT,3RGB
|
int colorTemp = 0;//色温
|
int color;//RGB
|
/**
|
* 逻辑灯类型_单路调节
|
*/
|
public static final int CONTROL_TYPE_SINGLE = 1;
|
/**
|
* 逻辑灯类型_CCT
|
*/
|
public static final int CONTROL_TYPE_CCT = 2;
|
/**
|
* 逻辑灯类型_RGB
|
*/
|
public static final int CONTROL_TYPE_RGB = 3;
|
|
private byte[] curState;//控制回馈信息
|
|
public ColourLightCtrlBackInfo() {
|
|
}
|
|
public ColourLightCtrlBackInfo(AppliancesInfo mAppliancesInfo) {
|
this.appliancesInfo = mAppliancesInfo;
|
this.curState = mAppliancesInfo.getArrCurState();
|
this.remarks = mAppliancesInfo.getRemarks();
|
|
if (this.curState == null) return;
|
|
if (this.curState.length >= 10) {
|
this.channelNum = this.curState[0] & 0xFF;
|
this.brightness = this.curState[1] & 0xFF;
|
this.type = this.curState[5] & 0xFF;
|
if (this.type == CONTROL_TYPE_CCT) {
|
this.colorTemp = (this.curState[6] & 0xFF) * 256 + (this.curState[7] & 0xFF);
|
} else if (this.type == CONTROL_TYPE_RGB) {
|
int color_r = this.curState[6] & 0xFF;
|
int color_g = this.curState[7] & 0xFF;
|
int color_b = this.curState[8] & 0xFF;
|
this.color = Color.rgb(color_r, color_g, color_b);
|
}
|
}
|
|
}
|
|
|
public String getRemarks() {
|
return remarks;
|
}
|
|
public void setRemarks(String remarks) {
|
this.remarks = remarks;
|
}
|
|
public AppliancesInfo getAppliancesInfo() {
|
return appliancesInfo;
|
}
|
|
public void setAppliancesInfo(AppliancesInfo appliancesInfo) {
|
this.appliancesInfo = appliancesInfo;
|
}
|
|
public int getChannelNum() {
|
return channelNum;
|
}
|
|
public void setChannelNum(int channelNum) {
|
this.channelNum = channelNum;
|
}
|
|
|
public int getBrightness() {
|
return brightness;
|
}
|
|
public void setBrightness(int brightness) {
|
this.brightness = brightness;
|
}
|
|
public int getType() {
|
return type;
|
}
|
|
public void setType(int type) {
|
this.type = type;
|
}
|
|
public int getColorTemp() {
|
return colorTemp;
|
}
|
|
public void setColorTemp(int colorTemp) {
|
this.colorTemp = colorTemp;
|
}
|
|
public int getColor() {
|
return color;
|
}
|
|
public void setColor(int color) {
|
this.color = color;
|
}
|
|
public byte[] getCurState() {
|
return curState;
|
}
|
|
public void setCurState(byte[] curState) {
|
this.curState = curState;
|
}
|
|
@Override
|
public String toString() {
|
return "ColourLightCtrlBackInfo{" +
|
"appliancesInfo=" + appliancesInfo +
|
", channelNum=" + channelNum +
|
", remarks='" + remarks + '\'' +
|
", brightness=" + brightness +
|
", type=" + type +
|
", colorTemp=" + colorTemp +
|
", color=" + color +
|
", curState=" + Arrays.toString(curState) +
|
'}';
|
}
|
}
|