Android sensors
Android sensors是虚拟设备,它们给上层提供来自物理传感器的数据。传感器与SOC链接的可能情况
1:传感器芯片可以通过sensor hub链接到SOC上,这样允许低功耗的监控和处理数据2:可以通过I2C或SPI链接
3:为了降低功耗,一些硬件架构是分层次的。把一些操作放在了ASIC(application-specific integrated circuit )里.
例如:加速度芯片里的motion detction。或者把一些处理放在了microcontroller。例如:
sensor hub里的step detection。
4:设备厂商基于功耗、价格等因素决定哪种硬件架构。
5:batching功能是功耗优化考虑的一个重要的因素。
传感器类型
每个Android sensor都有一个类型,定义在 sensors.h里。sensor list
1:设备上存在的sensor list是通过sensor hal层上报给上层的。2:相同类型的sensor可以定义多个。
3:但是绝大多数app只会注册一个sensor。例如:一个app注册一个默认的加速度,这个默认加速度
在list表里的第一个。
4:Android sensors经常定义为 wake-up and non-wake-up pairs,both sensors sharing the same type,
but differing by their wake-up characteristic.