資源簡介
I2C 調試的好工具 包括 i2cdetect/i2cdump/I2cset/i2cget
android代碼形式

代碼片段和文件信息
/*
????i2cbusses:?Print?the?installed?i2c?busses?for?both?2.4?and?2.6?kernels.
???????????????Part?of?user-space?programs?to?access?for?I2C
???????????????devices.
????Copyright?(c)?1999-2003??Frodo?Looijaard??and
?????????????????????????????Mark?D.?Studebaker?
????Copyright?(C)?2008-2010??Jean?Delvare?
????This?program?is?free?software;?you?can?redistribute?it?and/or?modify
????it?under?the?terms?of?the?GNU?General?Public?License?as?published?by
????the?Free?Software?Foundation;?either?version?2?of?the?License?or
????(at?your?option)?any?later?version.
????This?program?is?distributed?in?the?hope?that?it?will?be?useful
????but?WITHOUT?ANY?WARRANTY;?without?even?the?implied?warranty?of
????MERCHANTABILITY?or?FITNESS?FOR?A?PARTICULAR?PURPOSE.??See?the
????GNU?General?Public?License?for?more?details.
????You?should?have?received?a?copy?of?the?GNU?General?Public?License
????along?with?this?program;?if?not?write?to?the?Free?Software
????Foundation?Inc.?51?Franklin?Street?Fifth?Floor?Boston
????MA?02110-1301?USA.
*/
/*?For?strdup?and?snprintf?*/
#define?_BSD_SOURCE?1
#include?
#include?
#include? /*?for?NAME_MAX?*/
#include?
#include? /*?for?strcasecmp()?*/
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?“i2cbusses.h“
#include?“linux/i2c-dev.h“
enum?adt?{?adt_dummy?adt_isa?adt_i2c?adt_smbus?adt_unknown?};
struct?adap_type?{
const?char?*funcs;
const?char*?algo;
};
static?struct?adap_type?adap_types[5]?=?{
{?.funcs =?“dummy“
??.algo =?“Dummy?bus“?}
{?.funcs =?“isa“
??.algo =?“ISA?bus“?}
{?.funcs =?“i2c“
??.algo =?“I2C?adapter“?}
{?.funcs =?“smbus“
??.algo =?“SMBus?adapter“?}
{?.funcs =?“unknown“
??.algo =?“N/A“?}
};
static?enum?adt?i2c_get_funcs(int?i2cbus)
{
unsigned?long?funcs;
int?file;
char?filename[20];
enum?adt?ret;
file?=?open_i2c_dev(i2cbus?filename?sizeof(filename)?1);
if?(file?0)
return?adt_unknown;
if?(ioctl(file?I2C_FUNCS?&funcs)?0)
ret?=?adt_unknown;
else?if?(funcs?&?I2C_FUNC_I2C)
ret?=?adt_i2c;
else?if?(funcs?&?(I2C_FUNC_SMBUS_BYTE?|
??I2C_FUNC_SMBUS_BYTE_DATA?|
??I2C_FUNC_SMBUS_WORD_DATA))
ret?=?adt_smbus;
else
ret?=?adt_dummy;
close(file);
return?ret;
}
/*?Remove?trailing?spaces?from?a?string
???Return?the?new?string?length?including?the?trailing?NUL?*/
static?int?rtrim(char?*s)
{
int?i;
for?(i?=?strlen(s)?-?1;?i?>=?0?&&?(s[i]?==?‘?‘?||?s[i]?==?‘\n‘);?i--)
s[i]?=?‘\0‘;
return?i?+?2;
}
void?free_adapters(struct?i2c_adap?*adapters)
{
int?i;
for?(i?=?0;?adapters[i].name;?i++)
free(adapters[i].name);
free(adapters);
}
/*?We?allocate?space?for?the?adapters?in?bunches.?The?last?item?is?a
???terminator?so?here?we?start?with?room?for?7?adapters?which?should
???be?enough?in?most?cases.?If?not?we?allocate?more?later?as?needed.?*/
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????10580??2010-12-12?13:22??i2c-tools\include\linux\i2c-dev.h
?????文件????????8549??2013-03-15?01:21??i2c-tools\i2cdetect.c
?????文件????????6608??2010-11-26?10:25??i2c-tools\i2cget.c
?????文件????????1382??2010-11-26?10:25??i2c-tools\i2cbusses.h
?????文件????????1310??2009-01-13?17:46??i2c-tools\util.c
?????文件?????????906??2009-01-13?17:46??i2c-tools\util.h
?????文件???????10086??2013-03-15?01:16??i2c-tools\i2cbusses.c
?????文件??????????24??2011-12-04?17:33??i2c-tools\version.h
?????文件????????1389??2013-03-15?01:24??i2c-tools\Android.mk
?????文件???????12010??2010-11-26?10:25??i2c-tools\i2cdump.c
?????文件???????11056??2011-02-15?16:12??i2c-tools\i2cset.c
?????目錄???????????0??2011-12-04?17:56??i2c-tools\include\linux\
?????目錄???????????0??2013-03-15?01:15??i2c-tools\include\
?????目錄???????????0??2013-03-15?01:24??i2c-tools\
評論
共有 條評論