MTK平台ALS上报数据流程.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MTK平台ALS上报数据流程

针对ALS上报数据的流程,我这边大概的讲一下: MTK平台ALS使用轮询模式(polling mode)的话,系统会轮询调用这个函数 int stk3x1x_als_operate(void* self, uint32_t command, void* buff_in, int size_in,void* buff_out, int size_out, int* actualout) 传进来的参数cammand会以下对应的case: switch (command) { case SENSOR_DELAY: //设置sensor 延时 if((buff_in == NULL) || (size_in sizeof(int))) { APS_ERR(Set delay parameter error!\n); err = -EINVAL; } // Do nothing break; case SENSOR_ENABLE: //打开sensor ,就是打开ALS, if((buff_in == NULL) || (size_in sizeof(int))) { APS_ERR(Enable sensor parameter error!\n); err = -EINVAL; } else { value = *(int *)buff_in; if(value) /如果value的值为1的话,就会调用stk3x1x_enable_als函数 { if((err = stk3x1x_enable_als(obj-client, 1))) //打开als { APS_ERR(enable als fail: %d\n, err); return -1; } set_bit(STK_BIT_ALS, obj-enable); } Else //否则就关闭als { if((err = stk3x1x_enable_als(obj-client, 0))) //关闭als { APS_ERR(disable als fail: %d\n, err); return -1; } clear_bit(STK_BIT_ALS, obj-enable); } } break; case SENSOR_GET_DATA: //获取ALS的数据 if((buff_out == NULL) || (size_out sizeof(hwm_sensor_data))) { APS_ERR(get sensor data parameter error!\n); err = -EINVAL; } else { sensor_data = (hwm_sensor_data *)buff_out; #ifdef STK_GES if(obj-ges_enabled) { sensor_data-values[0] = stk3x1x_get_als_value(obj, obj-als_last); sensor_data-value_divide = 1; sensor_data-status = SENSOR_STATUS_ACCURACY_MEDIUM; break; } #endif err = stk3x1x_read_flag(obj-client, flag); //读取als的数据reading标志位 if(err) return err; if(!(flag STK_FLG_ALSDR_MASK)) //如果als数据 reading就继续return -1; //往下执行否则直接return -1 if((err = stk3x1x_read_als(obj-client, obj-als)))//从IC读取ALS数据保存到obj-als中 { err = -1; } else { if(obj-als 3) //当底层获取到的读值在3以下的时候,我们会直接忽略,上报0 { obj-als_

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档