高通的sensor系统中,可以让我们在adsp中转换sensor的坐标系。由于sensor贴的位置,可能与我们的android要求的坐标系不同,那么需要转换,有的芯片可以向里面写寄存器,让芯片来帮我们转换,高通的也可以在dd driver里面来进行转换。
这里转换坐标系的信息,我们可以保存到nv里面,也就是那个sns_reg文件里面,在初始化的时候会通过init函数传递进来:
sns_ddf_status_e (*init)(
sns_ddf_handle_t* dd_handle_ptr,
sns_ddf_handle_t smgr_handle,
sns_ddf_nv_params_s* nv_params,
sns_ddf_device_access_s device_info[],
uint32_t num_devices,
sns_ddf_memhandler_s* memhandler,
sns_ddf_sensor_e** sensors,
uint32_t* num_sensors
);
我们先讲讲使用情况,是如何对应的。
传递进来的参数如下:{1, 2, 3},那么raw data就按照x,y,z 传递上去;
如果传递进来的参数是:{-1, 2, -3}, 那么raw data 就按照 -x, y, -z传递上去;
如果传递进来的参数是:{-2, 3, -1}