PID : b9vxgbgv
如附件 图片 对应免开发遥控器的 七彩色循环功能。
【已解决】 mesh照明遥控器联网版的 七彩循环的指令是什么?
Re: 【求助】 mesh照明遥控器联网版的 七彩循环的指令是什么?
tuya os 自定义开发
Re: 【求助】 mesh照明遥控器联网版的 七彩循环的指令是什么?
使用标准的sigmesh opcode
Code: Select all
/*
R G B H S L
红:255 0 0 0 100 50
橙:255 97 0 23 100 50
黄:255 255 0 60 100 50
绿: 0 255 0 120 100 50
青: 0 255 255 180 100 50
蓝: 0 0 255 240 100 50
紫:128 0 128 300 100 25
*/
int mesh_light_color_set(u16 sub_addr,u8 color,u8 lum_per)
{
mesh_cmd_light_hsl_set_t hsl;
switch(color){
case 0 :
hsl.hue = 0;
hsl.sat = 65535*100/100;
hsl.lightness = 65535*50/100;
break;
case 1 :
hsl.hue = 65535*23/360;
hsl.sat = 65535*100/100;
hsl.lightness = 65535*50/100;
break;
case 2 :
hsl.hue = 65535*60/360;
hsl.sat = 65535*100/100;
hsl.lightness = 65535*50/100;
break;
case 3 :
hsl.hue = 65535*120/360;
hsl.sat = 65535*100/100;
hsl.lightness = 65535*50/100;
break;
case 4 :
hsl.hue = 65535*180/360;
hsl.sat = 65535*100/100;
hsl.lightness = 65535*50/100;
break;
case 5 :
hsl.hue = 65535*240/360;
hsl.sat = 65535*100/100;
hsl.lightness = 65535*50/100;
break;
case 6 :
hsl.hue = 65535*300/360;
hsl.sat = 65535*100/100;
hsl.lightness = 65535*25/100;
break;
default :
hsl.hue = 0;
hsl.sat = 0;
hsl.lightness = 0;
break;
}
hsl.lightness = 65535*lum_per/2/100;
hsl.tid = ++mesh_tid.tx[0];
analog_write(REGA_TID, mesh_tid.tx[0]);
return mesh_tx_cmd2normal_primary(LIGHT_HSL_SET_NOACK, (u8*)&hsl, 7, sub_addr,0);
}