中兴Nubia Z5S 呼吸灯/键盘灯/闪光灯模式分析


 中兴Nubia Z5S(NX503A) 使用的呼吸灯控制芯片为AW9106B, 芯片资料:

http://pan.baidu.com/s/1dDHxXeD


中兴Nubia Z5S 呼吸灯/键盘灯/闪光灯模式分析_第1张图片



中兴Nubia Z5S 呼吸灯/键盘灯/闪光灯模式分析_第2张图片

实际nubia z5s 只控制了home键一个红色的LED (好浪费的说...)

在z5s官方内核中此芯片驱动路径为: drivers/hwmon/aw_9106b.c



其中定义呼吸灯输出模式的enum为:

enum aw_outn_mode{
	AW_POWER_OFF,// 0
	AW_CONST_ON,  // 1
	AW_LOW_BATT_ON, // 2 
	AW_CHG_ON, // 3
	AW_NORMAL_ON, // 4
	AW_FADE_ON_STEP,  // 5
	AW_FADE_OFF_STEP, // 6
	AW_FADE_CYCLE, // 7
};

而内核操作呼吸灯的实际文件路径为: sys/class/leds/red

中兴Nubia Z5S 呼吸灯/键盘灯/闪光灯模式分析_第3张图片


从上面来看,控制呼吸灯的点亮模式的方法为:


比如

echo 1 > sys/class/leds/red/brightness

即设置呼吸灯的模式为 AW_CONST_ON , 持续亮模式, 


echo 0 > sys/class/leds/red/brightness

即为关闭呼吸灯


还有几种模式分别是:

AW_LOW_BATT_ON, // brightness值为2 低电量显示模式
AW_CHG_ON, // brightness值为3 充电呼吸模式
AW_NORMAL_ON, // brightness值为4 普通呼吸模式
AW_FADE_ON_STEP, // brightness值为5 渐变点亮模式(完全亮之后无呼吸)
AW_FADE_OFF_STEP, // brightness值为6 渐变灭模式(但实际测试直接灭了)
AW_FADE_CYCLE // brightness值为7 循环渐变呼吸模式

另外
echo 50 > sys/class/leds/red/max_brightness
这样既可以控制呼吸灯的最大亮度


同样的道理, 键盘灯就简单了,
echo 100 > sys/class/leds/button-backlight/brightness
这样就可以控制键盘灯(对z5s来说就是home键左右两边两个红点), 不同的数值亮度不一样最大值在sys/class/leds/button-backlight/max_brightness设置

闪光灯控制的路径为:
sys/class/leds/led:flash_torch/brightness
跟键盘灯不同的是z5s的闪光灯不能控制亮度只要brightness数值大于0即点亮!



你可能感兴趣的:(中兴Nubia Z5S 呼吸灯/键盘灯/闪光灯模式分析)