• 3

你們的重力感應器準嗎?求"真正"的校正方法

smanshave wrote:
不過我看別廠牌的機種...(恕刪)


所以其實我也有點糊塗了~"~

我後來有測試到,當進入工程模式的Compass項目後可以做繞8歸零。
這個動作做完以後akm_set.txt裡的數值會被改寫(但在其他程式裡怎麼繞數值都維持不變)
所以理論上這就是Sony的"校正"。
只不過歸零後我仍然有0.6度的偏差,玩遊戲一樣是歪的

所以大膽假設,這六組數字只能定義出手機在三維空間裡可能的各種角度,但還是缺乏一個定義基準點的校正方式。也就是類似HTC或三星那種,將手機平放按下按鍵,設定出絕對的"上"與"下"的方法。

也就是說,這六組數字,我想再怎麼改都沒有用了Orz

按寫程式的邏輯來看,定義重力感應器正確的offset,應該要有九到十二組參數。六組定義正面朝上與正面朝下時所可能的各種角度(可以假想手機本身的旋轉可以構成一個球體)

另外三組定義正面朝上時,絕對的上方數值。另外三組定義正面朝下時的數值。

理論上應該是這樣,不過這都是猜測啦

如果是這組晶片不支援絕對上下的Offset參數,再怎麼繞8也是白搭

真希望Sony能出一個校正的工具
我的ACRO S也是~~放水平時會不準,還差很多,

本來七天內要出保固換一台~~請老闆先拆開讓我試試,結果另一台也是一樣...

還沒有內建可以校正的選項~~真是的XD

不知道日後如果系統有更新會不會一併增加校正選項
manabu2 wrote:
我後來有測試到,當進入工程模式的Compass項目後可以做繞8歸零。
這個動作做完以後akm_set.txt裡的數值會被改寫(但在其他程式裡怎麼繞數值都維持不變)
所以理論上這就是Sony的"校正"。
只不過歸零後我仍然有0.6度的偏差,玩遊戲一樣是歪的


照理說,e-Compass和G-sensor是兩碼子事,以前是二顆獨立IC,現在不知道有沒有整合的?
繞8是針對e-Compass的歸零動作,繞8會akm_set.txt裡的數值被改寫,
那akm_set.txt所記的參數應該是給e-Compass用,而非G-sensor才對。

先做個小結:
1. 到目前為止,都是修改.FORM0的幾組參數;
2. e-Compass的歸零動作會變更.FORM0的幾組參數值;
3. 改.FORM0的參數對G-sensor沒影響。(暫時排除無法啟動程式的問題)

我目前有個想法:
修改目前尚未動過的.FORM1的幾組參數。

理由是:
1. 沒試過;
2. 別的機種G-sensor的參數放在這個檔案akm_set.txt,沒理由Sony的就不是放這裡;
3. 看來繞著.FORM0轉沒什麼幫助。
....以上單純亂猜,反正死馬當活馬醫....
我要睡覺了,明天早上再來試試看。
smanshave wrote:
照理說,e-Comp...(恕刪)


對耶,沒錯,繞8應當是只對地磁感應器做校正,我卻是沒想到akm_set.txt他有可能是好幾個感應器共用的設定檔。

感謝點醒,本來一度膠著的案情終於又有一線曙光XD

-------------------------------------------

之前試過一組一組改,沒作用
這次我試著全部亂改,關掉感應器,修改後重開&修改後整台機子重啟,都是沒作用

手機平放的數值一直維持在 0.4 -0.3 9.8

難道說Sony的G-Sensor並不去讀取akm_set?
或是設定檔的位置不在這?
還是設定值的更改需要再重新Compiler?(應該是不致於,繞8都能馬上看到效果了啊...)

是說英文實在是太爛,不然還真想去XDA問一下

-------------------------------------------
我找到了!
改了確實會產生影響的檔案
/system/etc/sensors.conf

好像要重開機~
正在摸索數值中
用個手機還得要去研究這些本來就是廠商應該搞好的問題,真是太辛苦了。
Apple=王道 機器人=抄襲 窗戶=死定
mobisucks wrote:
用個手機還得要去研究這些本來就是廠商應該搞好的問題,真是太辛苦了。

只能說:
它傻瓜,你聰明嘛....
這篇文章實在是很專業也很有趣,我每天都要來看個進度,你們現在找到了,以後我上哪找這樂趣去T.T

夜聆星語 wrote:
這篇文章實在是很專業...(恕刪)


找是找到了,不過看起來那個Sensor.conf檔似乎不能微調,裡面只能接受整數值,範圍大約1~3。
我在想可能只是大略的調整Axis的方向而已

所以還是膠著中~一個檔調了只會把整個Gsensor轉方向,另個檔怎麼調都沒反應~"~

話說,這本來就是廠商該搞定的事情,就是因為原廠完全沒有提出這個X10以來就一直存在的問題的解決方案。
所以我才提出來討論,拋磚引玉,希望能有韌體專長的專家給予指導。
另一方面也喚醒大家的注意:這是一個困擾過無數Sony用家的老問題了。

如果可以藉由簡單的方式解決,在原廠遙遙無期的"重視"來臨前,至少我們自己就可以讓手機更好用,更少缺點。

我不能因為一點小問題就把手機換掉,這樣太不環保了。
也不能因為這樣就琵琶別抱,換別家的手機。因為別家也會有一本難念的經。

"問題"這東西,就是會藉由每一件事找上每一個人,我還滿樂於去試著解決並分享自己的心得。如果不要有太多冷水的話。
manabu2 wrote:
找是找到了,不過看起來那個Sensor.conf檔似乎


今天試過昨天自己的猜測,確實無效。真可惜...

下午花了些時間在google上找資料,看到不少抱怨,也看到別家機種在討論G-sensor的問題。
Sony官方討論區的人認為G-sensor稍微不準是正常的,太不準就是壞掉。
(我不認同這種思維。)
從這種思維來看,也許根本沒有「放修正參數的檔案」,一切就是用IC預設值。若真是如此,找到死也找不到檔案...(單純猜測,別砲我

有人說別廠已經有機種可自行校正,若是知道它校正動到哪個檔案,也許可以幫助我們縮小範圍。
smanshave wrote:
今天試過昨天自己的猜...(恕刪)


我也不認同"稍微不準是正常的"這種托詞。重力感應的運用如此廣泛,不準的比例如此之高,要換到全準的機器還要碰運氣,這種官方認定的"正常",可是給很多人帶來困擾的耶~

不過我擔心你假設的是真的,好比我今天看到一篇教學:

重新启动手机,然后就进入到Recovery模式打开cmd输入命令:
mount /data
rm /data/misc/akmd* /data/misc/rild*


我不懂Android的指令,不過猜測應該是重新掛載 akmd* 跟 rild*兩個檔案。
首先是Sony的命名規則跟一般安卓手機不一樣,我的手機裡只有akm開頭的檔案,也就是akm_set那個。
再來是別家手機可能有一個rild開頭的檔案,我的附之闕如。

如果這個檔案是校正檔,那就是Sony真的不提供校正。

另外我還看到一篇文章:

用RE之类的把system/etc里的Sensor.conf文件修改成下面这样……然后重启……
# Setup accelerometer axis
bma150input_axis_x = 0
bma150input_axis_y = 1
bma150input_axis_z = 2

bma150input_neg_x = 1
bma150input_neg_y = 1
bma150input_neg_z = 0

# Setup AKM897x axis
ak897xorientation_axis_map = 0,1,2
ak897xorientation_axis_sign = 1,1,-1
ak897xmagnetic_axis_map = 0,1,2
ak897xmagnetic_axis_sign = 1,-1,-1



粗體字那段我們根本沒有,這又是一個跟他家不同的地方。

另外一個教學:
使用文件管理工具将这个 “akmd”文件拷贝到/system/bin/文件夹内(可以先放到SD卡中,然后复制,记得要开启读写权限!)

将/data/misc/akmd_set.txt删除

重启


akmd這個檔我們的/system/bin/底下本來也是沒有的,猜測是重新產生akmd_set.txt並且寫入初始值的檔案。

我實作的結果是,不管有沒有拷貝這個檔案進/system/bin/,刪掉akmd_set.txt後都會在產生一個全部參數都是0的akm_set.txt。

可能在Sony的維修流程裡,接著就是進Compass裡校正了吧?

但是校正的結果我們都知道了,除了界定重力感應的範圍,手機在三維空間裡可能的角度以外,對偏斜一點幫助都沒有。

我在想就算我寫信給Sony,大概也只能得到制式回答吧?
  • 3
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?