android hal 测试代码,Android上层访问HAL层(呼吸灯测试代码)

http://blog.csdn.net/yelangjueqi/article/details/46761987

HAL:hardware/nubia_hardware/NX541J/breathlight

核心思想是上层打开/sys/class/leds/nubia_led/路径下文件,写入数据即可调试呼吸灯

type sysfs_breath_leds, fs_type, sysfs_type;

/sys/class/leds/nubia_led(/.*)?                u:object_r:sysfs_breath_leds:s0

/sys/class/leds/nubia_led/outn         u:object_r:sysfs_breath_leds:s0

/sys/class/leds/nubia_led/grade_parameter              u:object_r:sysfs_breath_leds:s0

/sys/class/leds/nubia_led/fade_parameter               u:object_r:sysfs_breath_leds:s0

/sys/class/leds/nubia_led/blink_mode           u:object_r:sysfs_breath_leds:s0

/sys/devices/soc.4/11008000.i2c/i2c-1/1-0045/leds/nubia_led(/.*)? u:object_r:sysfs_breath_leds:s0

/sys/devices/soc.4/11008000.i2c/i2c-1/1-0045/leds/nubia_led/outn u:object_r:sysfs_breath_leds:s0

/sys/devices/soc.4/11008000.i2c/i2c-1/1-0045/leds/nubia_led/grade_parameter u:object_r:sysfs_breath_leds:s0

/sys/devices/soc.4/11008000.i2c/i2c-1/1-0045/leds/nubia_led/fade_parameter u:object_r:sysfs_breath_leds:s0

/sys/devices/soc.4/11008000.i2c/i2c-1/1-0045/leds/nubia_led/blink_mode u:object_r:sysfs_breath_leds:s0

allow system_app sysfs_breath_leds:dir { search open read write add_name create getattr setattr };

allow system_app sysfs_breath_leds:file { open read write create append unlink ioctl getattr setattr };

allow system_app sysfs_breath_leds:lnk_file { open read write create append unlink ioctl getattr setattr };

allow system_app sysfs_breath_leds:fifo_file { read write open create setattr};

android上层相关代码:

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

//blink_mode

//AW_SW_RESET,         // 0  soft_reset , all regs revert to default value.

//AW_CONST_ON,         // 1 work on a constant lightness.

//AW_CONST_OFF,         // 2 darkness is comming

//AW_AUTO_BREATH,        // 3 self breathing, used in sences such as missing message.

//AW_STEP_FADE_IN,       // 4  fade in means that the lightness is getting stronger.

//AW_STEP_FADE_OUT,

// 5  fade out means that the lightness is getting weaker

//AW_BREATH_ONCE,

// 6 only breath once, touch the home menu for instance.

//AW_RESERVED,         // 7 reserverd.

private void turnOnLeds() {

//writeFile("blink_mode","0");

writeFile("outn","1");

writeFile("grade_parameter","200 255");

writeFile("blink_mode","1");

writeFile("outn","0");

//writeFile("grade_parameter","200 255");

writeFile("blink_mode","6");

}

//"/sys/class/leds/nubia_led/blink_mode"

private void turnOffLeds() {

writeFile("blink_mode","0");

}

private void writeFile(String fileName,String writestr){

try{

FileOutputStream mfile = new FileOutputStream("/sys/class/leds/nubia_led/"+fileName);

byte [] bytes = writestr.getBytes();

mfile.write(bytes);

mfile.close();

}

catch (IOException ex) {

Log.w(TAG, "wanglei write File fail: " + ex.toString());

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值