光感启动流程,做个记录
hal:AmbienteLight.cpp
int AmbiLightSensor::enable(int32_t handle, int en) 中会去write /sys/class/sensor/m_als_misc/alsactive
kernel:write alsactive 会触发kernel调用 als_store_active
从而启动定时器 mod_timer(&cxt->timer_als, jiffies + atomic_read(&cxt->delay_als)/(1000/HZ));
进而调用 als_poll --->als_work_func ---> cxt->als_data.get_data(&value, &status); // 不断去读取数据

本文详细解析了光感启动流程,从HAL层的AmbiLightSensor类方法enable开始,通过写入/sys/class/sensor/m_als_misc/alsactive触发内核调用als_store_active,启动定时器并周期性读取ALS传感器数据。
1276

被折叠的 条评论
为什么被折叠?



