作者deo2000 (800IM)
看板AndroidDev
标题[问题] 如何使 BMA150 加速规G-range切换?
时间Thu Dec 1 09:03:17 2011
小弟只有 C++ 和 VB6 的程式基础
由於做研究需要携带型加速规,刚好手机上有,Chip 是 BMA150,
大多数手机都用的型号。目前可用范围只有+-2G,不敷使用。
Datasheet 上说可以透过 via SPI/I2C 的方式来切换到+-8G,但是
我找很多资料看很久,还是不知道什麽是via SPI/I2C??只知道Andriod
的语言和 C 很相似,又好像有些不一样 ?!
国外论坛,我也找了很多,发现都没有谈到我要的。倒是有个外国人
也在不少论坛发问相同问题,他也没得到答案。
-------
我刚刚找了函式库 bma150.h 来看,发现一段码
/* range and bandwidth */
#define BMA_RANGE_2G 0
#define BMA_RANGE_4G 1
#define BMA_RANGE_8G 2
似乎是只要在某个方传入 BMA_RANGE_8G 或 2 就好了?!
可是我找不到在何处传入?
就算找到了,又要如何写入手机呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.224.52.205
※ 编辑: deo2000 来自: 61.224.52.205 (12/01 10:26)
1F:→ jacktoad:在kernel层 BMA150是接在i2c或spi的bus上... 12/01 11:13
2F:→ jacktoad:应该是在kernel driver probe起来之後去设定的 12/01 11:28
3F:→ bluestar8783:设定register吧 12/01 11:56
4F:→ diousk:太偏硬体了,你可能需要补一下嵌入式系统的知识 12/01 13:41
5F:推 heoris:先看看驱动有没有注册sysfs 也许可以直接切换mode 12/01 20:17
我能到看起来像驱动的档案,打开都是*.so的机器语言耶
※ 编辑: deo2000 来自: 61.224.52.205 (12/01 21:07)
6F:→ explora26:要看看driver 有没有调整的方法 12/02 00:00
7F:→ explora26:没有的就得修改driver 看SPEC对某个register修改 12/02 00:04
8F:→ WPC001:手机上... 除非你重上驱动程式... 否则厂商给你2G就是2G 12/02 00:10
9F:→ WPC001:不然就是厂商的driver+hal一开始保留了改range的能力 12/02 00:10
10F:→ priv:一般都是i2c 12/02 18:42
11F:→ priv:如果你知道怎麽做的话,可以写command tool强制下i2c指令改 12/02 18:42
12F:→ priv:或者用现成lm-sensor出的i2c-tools 12/02 18:43
13F:→ priv:至於怎麽做我不太想教,因为原po对i2c也没有概念 12/02 18:44
14F:→ priv:不想花太多时间step-by-step 12/02 18:44