关于SampleLight中颜色的转换
协议栈:Z-Stack Lighting 1.0.2
开发平台:ZLIGHT2及ZLLRC
例程:SampleLight
1.用的Hue控制RGBW灯,关于颜色的转换是怎么完成的
2.颜色转换,有两种模式COLOR_MODE_CURRENT_X_Y和COLOR_MODE_CURRENT_HUE_SATURATION,这两种有什么区别?
我的理解:COLOR_MODE_CURRENT_X_Y 模式是zclColor_CurrentHue查表获得zclColor_CurrentX、zclColor_CurrentY的值(这个表是怎么得出的?),然后调用hwLight_satToXy(这个函数是校准的吗?)
转换的核心程序调用了下面的函数:
if(zclColor_ColorMode == COLOR_MODE_CURRENT_X_Y)
{
hwLight_UpdateColorMode(COLOR_MODE_CURRENT_HUE_SATURATION);
}
else
{
hwLight_UpdateColorMode(COLOR_MODE_CURRENT_X_Y);
}
hwLight_UpdateColor();
1,HUE的值可以对应一个X和Y,通过查表得到,这个表格在HueToXyTable.c文件中,X和Y可以转化RGBW四色,每个颜色的对应值,通过函数hwLight_UpdateLampColor得到,然后再通过RGBW每一路的PWM去控制对应的亮度。
2, 这个表在ZigBee Light Link Test Specification里面有附上。跟你理解的差不多,
X和Y相当于是颜色坐标,通过坐标方法来表示一种颜色,饱和度也是为了表示一种颜色,还有就是色温。
ZigBee Light Link Test Specification这个文档哪儿找,如果方便的话,给个链接 谢谢!
可以去ZigBee Alliance上面下载
www.zigbee.org