Android Sensor driver 架構
以下是我目前自行研讀+網路教學的認知
由上層到下層的順序:
Java APP => Java Jni =>HAL Interface => Link HAL (so file) => Mapping Driver Interface => sensor Driver
HAL Interface 指的是 sensors.h 其中重點內容如下:
//sensors_module_t 可以得到Sensor data
struct sensors_module_t {
struct hw_module_t common;
/**
* Enumerate all available sensors. The list is returned in "list".
* @return number of sensors in the list
*/
int (*get_sensors_list)(struct sensors_module_t* module,
struct sensor_t const** list);
};
//sensors_poll_device_t 內有可以對sensor的操作
struct sensors_poll_device_t {
struct hw_device_t common;