[問題] Sensor HAL Kernel 與 user space 溝通

看板LinuxDev作者 (妳哪位ㄚ)時間14年前 (2011/09/29 00:50), 編輯推噓2(208)
留言10則, 5人參與, 最新討論串1/1
有幾個問題想請教各位, 目前正在實作 Android 的 sensor HAL 層, 卡在幾個環節上, 有些地方並不是很清楚, 首先, sensor 的數值範圍要怎麼定義? 例如 G-sensor, driver 會不斷的取得 x, y, z 三軸的重力值, 但是數值的範圍如何才能讓應用層正確使用? 其次, user 與 kernel 的溝通方式, 目前有使用 ioctl 的方式初步讓其能溝通, 但最近找資料上有看見 ioctl 在 linux 之後版本會不支援, 因此, 想使用較為廣泛的寫法, 其中有找到關於 socket, 以及 sysfs 的方式, 目前看見的範例有些太過複雜, 有些寫得太過簡短, 有沒有這方面比較容易上手的書籍, 資料, 或者方式可供參考? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 182.235.94.61

09/29 01:10, , 1F
看spec
09/29 01:10, 1F

09/29 10:33, , 2F
LSB轉SI單位,就要看spec去做轉換,範圍應是+/-9.81
09/29 10:33, 2F

09/29 10:36, , 3F
ioctl不支援?真是個奇怪的說法..不然就改input_event
09/29 10:36, 3F

09/29 10:37, , 4F
socket&sysfs實做上應該也不會太難才是
09/29 10:37, 4F

09/29 10:42, , 5F
sensor HAL&driver是相對單純的,可能是做久才有此感
09/29 10:42, 5F

09/29 11:40, , 6F
input device
09/29 11:40, 6F

10/02 14:53, , 7F
參考android source的sensors.h。範圍看你開多大的dynamic
10/02 14:53, 7F

10/02 14:54, , 8F
range, +-2g=+-2*9.81 m/s^2, 餘此類推。dynamic range是寫y
10/02 14:54, 8F

10/02 14:55, , 9F
register設定的 所以同一顆ic也可能有不同的range
10/02 14:55, 9F

10/04 23:02, , 10F
感謝以上回覆. 的確是相對單純, 只是我少了起頭...
10/04 23:02, 10F
文章代碼(AID): #1EWr1baP (LinuxDev)
文章代碼(AID): #1EWr1baP (LinuxDev)