看板 AndroidDev 關於我們 聯絡資訊
  小弟只有 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)
jacktoad:在kernel層 BMA150是接在i2c或spi的bus上... 12/01 11:13
jacktoad:應該是在kernel driver probe起來之後去設定的 12/01 11:28
bluestar8783:設定register吧 12/01 11:56
diousk:太偏硬體了,你可能需要補一下嵌入式系統的知識 12/01 13:41
heoris:先看看驅動有沒有註冊sysfs 也許可以直接切換mode 12/01 20:17
我能到看起來像驅動的檔案,打開都是*.so的機器語言耶 ※ 編輯: deo2000 來自: 61.224.52.205 (12/01 21:07)
explora26:要看看driver 有沒有調整的方法 12/02 00:00
explora26:沒有的就得修改driver 看SPEC對某個register修改 12/02 00:04
WPC001:手機上... 除非你重上驅動程式... 否則廠商給你2G就是2G 12/02 00:10
WPC001:不然就是廠商的driver+hal一開始保留了改range的能力 12/02 00:10
priv:一般都是i2c 12/02 18:42
priv:如果你知道怎麼做的話,可以寫command tool強制下i2c指令改 12/02 18:42
priv:或者用現成lm-sensor出的i2c-tools 12/02 18:43
priv:至於怎麼做我不太想教,因為原po對i2c也沒有概念 12/02 18:44
priv:不想花太多時間step-by-step 12/02 18:44