android sensor的框架設計原理

2021-10-23 06:45:44 字數 844 閱讀 1397

應用通過 sensors sdk(軟體開發套件)api訪問感測器。sdk 包含用以列出可用感測器和註冊到感測器的函式。

在註冊到感測器時,應用可指定自己的首選取樣率和延遲要求。

框架負責將多個應用關聯到 hal。如果框架級別沒有發生這種多路復用,則在任何指定時間內每個感測器都只能被乙個應用訪問。

當第乙個應用註冊到感測器時,框架會向 hal 傳送請求以啟用感測器。

當其他應用註冊到相同的感測器時,框架會考慮每個應用的要求,並將更新的已請求引數傳送到 hal。

取樣率將是請求的取樣率的最大值,這意味著一些應用接收事件的頻率會高於所請求的頻率。

最大報告延遲將是請求的延遲的最小值。如果某個應用的最大報告延遲是 0,若它請求感測器,則所有應用將以連 續模式從該感測器接收事件,即使某些應用請求感測器時的最大報告延遲不是 0 也是如此。有關詳情,請參閱批處理。

當註冊到某個感測器的最後乙個應用取消註冊之後,框架會向 hal 傳送請求以停用該感測器,從而避免不必要的功耗。

## 多路復用的影響

在框架中實現多路復用層的這一需求說明了一些設計決策的原因。

當應用請求特定取樣率時,不能保證事件不會以更快的頻率到達。如果另乙個應用以更快的頻率請求同一感測器,則第乙個應用也將以那個快的頻率來接收事件。

請求的最大報告延遲同樣無法得到保證:應用可能以比請求的延遲短的多的延遲接收事件。

除了取樣率和最大報告延遲之外,應用還無法配置感測器引數。

沒有將資料從應用向下傳送至感測器或其驅動程式的機制。這樣可以確保某個應用無法修改感測器的行為,從而不會對其他應用造成破壞

**可以看出框架的設計其實是保證了上層的穩定性,底層的功能就是接收並處理上層的指令

Android sensor 框架描述

在alps device mediatek proj projectconfig.mk中 配置對應的感測器為y 等效路徑 kernel3.18 arch arm64 configs proj deconfig example config mtk sensor support y config cu...

Android Sensor 架構深入剖析

android sensor 架構深入剖析 華清遠見嵌入式學院講師。1 android sensor架構 android4.0系統內建對感測器的支援達13種,它們分別是 加速度感測器 accelerometer 磁力感測器 magnetic field 方向感測器 orientation 陀螺儀 g...

Android Sensor 架構深入剖析

1 android sensor架構 android4.0系統內建對感測器的支援達13種,它們分別是 加速度感測器 accelerometer 磁力感測器 magnetic field 方向感測器 orientation 陀螺儀 gyroscope 環境光照感測器 light 壓力感測器 press...