2, sensor中间层
HAL的中间层通过几个类来描述和管理每个sensor,类CalibrationManager管理sensor用到的校正算法模块,NativeSensorManager类则起承上启下
的作用, framework层访问标准的HAL接口,然后这些HAL接口再通过NativeSensorManager类接口访问到具体的sensors,同时所有sensor信息也是
由这个类来描述。
CalibrationManager
先看看CalibrationManager的类定义,该类主要用来获取参数校准和转化模块的信息,定义如下:
class CalibrationManager : public Singleton<CalibrationManager> {
public:
//Get the whole algo list provided by the calibration library
const sensor_cal_algo_t** getCalAlgoList();
//Retrive a compatible calibration algo for sensor specified by t
const sensor_cal_algo_t* getCalAlgo(const sensor_t *s);
/* Dump the calibration manager status */
void dump();
~CalibrationManager();
private:
friend class Singleton<CalibrationManager>;
•••
这个类被定义在文件hardware/qcom/ sensor/CalibrationManager.h,方法实现在对应
的cpp文件中;
CalibrationManager类方法如下,