核心驅動 lis3lv02d¶
支援的晶片
STMicroelectronics LIS3LV02DL, LIS3LV02DQ (12 位精度)
STMicroelectronics LIS302DL, LIS3L02DQ, LIS331DL (8 位) 和 LIS331DLH (16 位)
- 作者
Yan Burman <burman.yan@gmail.com>
Eric Piel <eric.piel@tremplin-utc.net>
描述¶
此驅動程式為各種惠普筆記型電腦中發現的加速度計提供支援,該功能正式稱為“HP Mobile Data Protection System 3D”或“HP 3D DriveGuard”。它會自動檢測具有此感測器的筆記型電腦。已知的型號(完整列表可以在 drivers/platform/x86/hp_accel.c 中找到)將自動將其軸定向到標準方式(例如:您可以直接玩 neverball)。加速度計資料可以透過 /sys/devices/faux/lis3lv02d 讀取。報告的值被縮放到 mg 值(地球重力的 1/1000)。
/sys/devices/faux/lis3lv02d/ 下的 Sysfs 屬性
- 位置
加速度計報告的 3D 位置。格式:“(x,y,z)”
- 速率
讀操作報告加速度計裝置的取樣率,單位為 HZ。寫操作更改加速度計裝置的取樣率。只接受硬體支援的值。
- 自檢
按照晶片製造商的規定對晶片執行自檢。
此驅動程式還提供了一個絕對輸入類裝置,允許筆記型電腦充當彈球機式的操縱桿。可以校準操縱桿裝置。操縱桿裝置可以處於兩種不同的模式。預設情況下,輸出值縮放到 -32768 .. 32767 之間。在操縱桿原始模式下,操縱桿和 sysfs 位置條目具有相同的比例。由於輸入系統的模糊性功能,可能存在很小的差異。事件也可以作為輸入事件裝置使用。
自檢僅用於硬體診斷目的。不應在正常操作期間使用。在自檢期間位置資料不會損壞,但不保證中斷行為能夠可靠地工作。在測試模式下,感測元件會在內部稍微移動一點。自檢測量正常模式和測試模式之間的差異。晶片規格說明了每種晶片型別的驗收限制。限制透過平臺數據提供,以便在不更改實際驅動程式的情況下調整限制。自測試返回“OK x y z”或“FAIL x y z”,其中 x、y 和 z 是模式之間的測量差異。軸在自檢模式下不會重新對映。提供測量值以幫助 HW 診斷應用程式做出最終決定。
在 HP 筆記型電腦上,如果激活了 LED 基礎設施,將提供對指示磁碟保護的 LED 的支援,如 /sys/class/leds/hp::hddprotect。
驅動程式的另一個功能是名為“freefall”的 misc 裝置,其行為類似於 /dev/rtc,並對從裝置接收到的自由落體中斷做出反應。它支援阻塞操作、poll/select 和 fasync 操作模式。您必須從裝置讀取 1 個位元組。結果是自上次成功讀取以來自由落體中斷的數量(如果中斷數量不適合,則為 255)。有關使用該裝置的示例,請參見 freefall.c 檔案。
軸方向¶
為了更好地相容各種筆記型電腦,加速度計報告的值被轉換為軸的“標準”組織(也稱為“可以開箱即用玩 neverball”)
當筆記型電腦水平放置時,X 和 Y 報告的位置約為 0,而 Z 為正值
如果左側升高,X 會增加(變為正值)
如果正面(觸控板所在的位置)升高,Y 會減小(變為負值)
如果筆記型電腦倒置,Z 變為負值
如果您的筆記型電腦型號未被識別(參見“dmesg”),您可以傳送電子郵件給維護者以將其新增到資料庫中。報告新筆記型電腦時,請包括 “dmidecode” 的輸出以及在以下四種情況下 /sys/devices/faux/lis3lv02d/position 的值。
問答¶
問:如何安全地模擬自由落體?我有一臺 HP “行動式工作站”,重約 3.5 公斤,外殼是塑膠的,所以讓它掉到地上是不可能的...
答:感測器非常靈敏,所以你的雙手可以做到。將其抬到自由空間中,用你的雙手跟隨下落大約 10 釐米。這應該足以觸發檢測。