Re: [問題] 有關Ecompass校準的實現

看板AndroidDev作者 (阿倫)時間13年前 (2011/10/27 23:42), 編輯推噓2(207)
留言9則, 2人參與, 最新討論串7/8 (看更多)
各位高手~ 不好意思喔! 小弟我剛剛進入這行>< 滿天問號~ 請多多包涵~ 我不知道您們一直提的daemon,是否就是指廠商所提供的一個.a檔(在HAL層中)~ 可是我前輩說那個檔案好像被鎖住了,因此只能放棄不用~ 變成現在的局面~ 要自己寫校準程式~ 現在碰到最大的問題是~ 上層有沒有一個觸發機制告訴底程按了calibration鍵~ 如果有的話可以告知我在那嗎? 如果沒有~ 那底程一直calibration~ 就磁場校準的原理看來~ 當我去了強磁場影響區~ 獲得的x, y, z軸的磁場max與min~ 一般會大於弱磁場影響區的磁場max或min校準值~ 那我再回來弱磁場影響區時做校準時~ 不就無法覆蓋強磁場區所產生的max或min值~ 這樣磁場校準值不就出錯了~ 還是一般廠商會定時清空磁場的max與min校準值? 您們說的proprietary code有可以參考的嗎?還是都是不公開的~ 我都找不到相關資訊>< 還有akm daemon好像也找不到code~ ※ 引述《bluestar8783 (藍星)》之銘言: : 工作剛好是做這塊,所以來回答一下 : Android App就是註冊sensor,然後API捉方位角或是重力值 : 而sensor HAL層是把daemon中的計算結果給回報到SensorManager,然後再往上報 : 所以,所提到的校正和計算角度,全都由daemon中的演算法提供 : 當然accuracy這個參數,也是由daemon所填寫 : 但就我追蹤的結果akmd無論在怎樣的環境下面都是報High : 系統廠通常從chip商那裏只會拿到HAL+daemon的code,且都是會通的(為了整合 : 其他sensor,有可能會提供source code)。當然最重要的演算法部份,是binary : 格式,根本沒機會看到內部運算 : 有些人提到,甩甩就可以正常,一半對一半不對 : 對的是,校正時需要做動作;不對的是,動作做錯可能會校正失敗 : 校正的動作需要三個旋轉軸都轉到,所以最常請End-User做劃8動作 : 但有些人在劃8時候,沒有翻面而導致校正一直無法通過 : 現在有些App會在上面有校正的Button,據我推測,不是用JNI的方式來開關daemon : 中的校正流程;就是去監測accuracy這參數是否有由Low->High。不過這招若是遇到 : 都是High的狀況,顯然會沒輒 請問一下JNI層要怎麼去開關daemon來校準流程阿~ 就我目前所看到機器回傳LOG 一般的APP不就只是一直觸發data__poll,讀取想要的資料 如果accuracy這參數是由底程提供給java層~ 那是否意味著daemon這個程序自己會判斷現在的磁場準不準~ 不然是什麼把accuracy由狀態High拉成狀態Low呢? : 從以前1.5做到現在,對於HAL層總共改了3次架構(改多改少),要實做不是太難 : 但是要了解整個流程〔SensorManager(JAVA&JNI)、SensorService(JAVA&JNI)、HAL〕 : 還是需要花些力氣才行 : 獻醜了... 太謙虛了您>< 很謝謝各位前輩細心的指導~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.84.91

10/28 01:36, , 1F
上層應該是沒吧 都在硬體層吧 你是做IC的嗎
10/28 01:36, 1F

10/28 01:36, , 2F
做手機應該不會弄到這邊的CODE吧 除非你在發哥
10/28 01:36, 2F

10/28 01:37, , 3F
那些不公開的CODE都會簽NDA吧..除非你有很要好的朋友
10/28 01:37, 3F

10/28 01:37, , 4F
不然應該不可能看到CODE
10/28 01:37, 4F

10/28 12:27, , 5F
我是做手機的~可是前輩說量不大~因此廠商有鎖CODE~
10/28 12:27, 5F

10/28 12:29, , 6F
才會變成我現在要自己寫calibraton的code~囧
10/28 12:29, 6F

10/28 12:55, , 7F
買版子的時候不會送嗎
10/28 12:55, 7F

10/29 22:19, , 8F
有送耶~可是因為我們量不大~好像有功能被鎖~等我下禮拜
10/29 22:19, 8F

10/29 22:20, , 9F
先試試才能知道能否使用~謝謝您的幫助^^
10/29 22:20, 9F
文章代碼(AID): #1EgNlHcZ (AndroidDev)
討論串 (同標題文章)
文章代碼(AID): #1EgNlHcZ (AndroidDev)