作者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