I.MX6 Android backlight modify by C demo
/**************************************************************************
* I.MX6 Android backlight modify by C demo
* 说明:
* 因为一些特殊情况,需要添加一个这个简单的控制程序来控制android背光
* 亮度,个人感觉是没有必要的,但是应要求还是加上。
*
* 2016-5-14 深圳 南山平山村 曾剑锋
*************************************************************************/ #include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <termios.h>
#include <string.h>
#include <errno.h> #define BACKLIGHT0_PATH "/sys/class/backlight/pwm-backlight.0/brightness"
#define BACKLIGHT1_PATH "/sys/class/backlight/pwm-backlight.1/brightness" //#define BACKLIGHT0_PATH "brightness0"
//#define BACKLIGHT1_PATH "brightness1" int help ( int argc );
int isDigitalStr(char *str);
int file_exists(char *filename);
void writeStringToFile(char *filePath, char *string); int main(int argc, char **argv)
{
int bl0 = ;
int bl1 = ; if ( help( argc ) != )
return -; if ( !isDigitalStr(argv[]) ) {
printf("Please give a numeric string.\n");
return -;
} writeStringToFile(BACKLIGHT0_PATH, argv[]);
writeStringToFile(BACKLIGHT1_PATH, argv[]);
} void writeStringToFile(char *filePath, char *string)
{
int fd = ; if ( file_exists(filePath) ) { fd = open(filePath, O_RDWR); ftruncate(fd, );
write(fd, string, strlen(string)); close(fd); }
} int isDigitalStr(char *str)
{
int len = strlen(str);
char *s = str;
int i = ; while( '' <= *s && *s <= '' && i < len){
s++;
i++;
} if(i == len)
return ;
else
return ;
} int file_exists(char *filename)
{
if (access(filename, F_OK) == ) {
return ;
} else {
printf("%s is not exist.\n", filename);
return ;
}
} int help( int argc )
{
if ( argc != ) {
printf ( "USAGE:\n" );
printf ( " backlight <value>\n" );
printf ( " example:\n" );
printf ( " backlight 0\n" );
return -;
} return ;
}
I.MX6 Android backlight modify by C demo的更多相关文章
- I.MX6 Android Linux UART send receive with multi-thread and multi-mode demo
/******************************************************************************************* * I.MX6 ...
- I.MX6 PWM buzzer driver hacking with Demo test
/***************************************************************************** * I.MX6 PWM buzzer dr ...
- I.MX6 Android U-blox miniPCI 4G porting
/************************************************************************** * I.MX6 Android U-blox m ...
- I.MX6 android 移除shutdown功能
/************************************************************************ * I.MX6 android 移除shutdown ...
- I.MX6 Android busybox 从哪里生成的
/**************************************************************************** * I.MX6 Android busybo ...
- I.MX6 Android 5.1 快速合成系统
/**************************************************************************** * I.MX6 Android 5.1 快速 ...
- I.MX6 Android netperf
/***************************************************************************** * I.MX6 Android netpe ...
- I.MX6 android 设置 默认 动态桌面
/************************************************************************ * I.MX6 android 设置 默认 动态桌面 ...
- I.MX6 android 获取framebuffer信息
/******************************************************************************** * I.MX6 android 获取 ...
随机推荐
- HDU3341 Lost's revenge(AC自动机&&dp)
一看到ACGT就会想起AC自动机上的dp,这种奇怪的联想可能是源于某道叫DNA什么的题的. 题意,给你很多个长度不大于10的小串,小串最多有50个,然后有一个长度<40的串,然后让你将这个这个长 ...
- POJ 2185 Milking Grid (KMP,求最小覆盖子矩阵,好题)
题意:给出一个大矩阵,求最小覆盖矩阵,大矩阵可由这个小矩阵拼成.(就如同拼磁砖,允许最后有残缺) 正确解法的参考链接:http://poj.org/showmessage?message_id=153 ...
- iOS第三方地图-百度地图定位的封装
// // BaiduMapTools.h // baidumapTest // // Created by apple on 15/8/26. // Copyright (c) 2015年 tqh. ...
- struct 理解 (需要经常理解)
2014.3.11 分析offviewer时,有一些问题,很基础的,但是忘记了,发现问题那就快点搞定它 以下内容参考自百度百科: (2)struct 结构体有点忘记了,要复习一下 定义一个结构的一般 ...
- 几个经常用到的字符串的截取(java)
几个经常用到的字符串的截取 string str="123abc456";int i=3;1 取字符串的前i个字符 str=str.Substring(0,i); // or ...
- 模拟+思维 HDOJ 5319 Painter
题目传送门 /* 题意:刷墙,斜45度刷红色或蓝色,相交的成绿色,每次刷的是连续的一段,知道最终结果,问最少刷几次 模拟+思维:模拟能做,网上有更巧妙地做法,只要前一个不是一样的必然要刷一次,保证是最 ...
- ADs系列之通用数据解析服务GAS(即将开源)
面对成百上千的生产系统用户操作数据接入落地,你是否厌倦了每次机械编写打包解包的代码?对一次性接入多个数据的时候,还要对不同人联调,费时费力,你是否还会手忙脚乱,忙中不断出错?是否当数据出问题了,用的时 ...
- iOS复杂动画之抽丝剥茧(Objective-C & Swift)
一.前言 随着开发者的增多和时间的累积,AppStore已经有非常多的应用了,每年都有很多新的APP产生.但是我们手机上留存的应用有限,所以如何吸引用户,成为产品设计的一项重要内容.其中炫酷的动画效果 ...
- iOS开发多线程--(NSOperation/Queue)
iOS实现多线程的方式有三种,分别是NSThread.NSOperation.GCD. 关于GCD,请阅读GCD深入浅出学习 简介 NSOperation封装了需要执行的操作和执行操作所需的数据,提供 ...
- Android Edittext 显示光标 获取焦点 监听焦点
Edittext java 代码控制获取焦点 EditText mEditText = (EditText) findViewById(R.id.et); mEditText.setFocusable ...